diff options
author | paul <paul> | 2006-01-10 22:11:54 +0000 |
---|---|---|
committer | paul <paul> | 2006-01-10 22:11:54 +0000 |
commit | 98429f6d07b0bac006eb14aea13c1d989fc835ed (patch) | |
tree | efe6d2709a93147939544e63bba81b2ba24823d5 | |
parent | c42c177de3ee3aa50c25b5e957c9ba284f19bf6b (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/ChangeLog | 5 | ||||
-rw-r--r-- | ospfd/ospf_zebra.c | 5 |
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; |