diff options
author | paul <paul> | 2003-09-29 20:06:13 +0000 |
---|---|---|
committer | paul <paul> | 2003-09-29 20:06:13 +0000 |
commit | 143a385f0cb858126e79bb7c637c2aede234c4ab (patch) | |
tree | 50114b91a57e3fde3c03030d20a19663c3d576ba /zebra | |
parent | 5ae016eeecc8f0ce353b875b98a7c64ce70931dd (diff) |
2003-09-29 Gilad Arnold <gilad.arnold@terayon.com>
* zebra/zebra_rib.c: Fix possible dangling reference to rib
route_nodes - unlock it the appropriate number of times. (twice,
because of the implicit lock). see [quagga-dev 251].
Diffstat (limited to 'zebra')
-rw-r--r-- | zebra/zebra_rib.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index 63d0d107..ccccd0ad 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -1575,12 +1575,15 @@ static_delete_ipv4 (struct prefix *p, struct in_addr *gate, char *ifname, rn->info = si->next; if (si->next) si->next->prev = si->prev; + route_unlock_node (rn); /* Free static route configuration. */ if (ifname) XFREE (0, si->gate.ifname); XFREE (MTYPE_STATIC_IPV4, si); + route_unlock_node (rn); + return 1; } |