summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaul <paul>2006-01-10 22:11:54 +0000
committerpaul <paul>2006-01-10 22:11:54 +0000
commit98429f6d07b0bac006eb14aea13c1d989fc835ed (patch)
treeefe6d2709a93147939544e63bba81b2ba24823d5
parentc42c177de3ee3aa50c25b5e957c9ba284f19bf6b (diff)
[ospfd] fix rare leak of struct connected, in an error path.
2006-01-10 Juris Kalnins <juris@mt.lv> * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of struct connected in an error case.
-rw-r--r--ospfd/ChangeLog5
-rw-r--r--ospfd/ospf_zebra.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 10a5de6a..35d353e5 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,8 @@
+2006-01-10 Juris Kalnins <juris@mt.lv>
+
+ * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
+ struct connected in an error case.
+
2006-01-10 Paul Jakma <paul.jakma@sun.com>
* ospfd.c: (ospf_network_run) checking to see if router-id
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index af82e979..544a0d61 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -289,7 +289,10 @@ ospf_interface_address_delete (int command, struct zclient *zclient,
rn = route_node_lookup (IF_OIFS (ifp), &p);
if (!rn)
- return 0;
+ {
+ connected_free (c);
+ return 0;
+ }
assert (rn->info);
oi = rn->info;