diff options
author | paul <paul> | 2003-09-29 20:06:13 +0000 |
---|---|---|
committer | paul <paul> | 2003-09-29 20:06:13 +0000 |
commit | 3efe75228654cb871967c4082b123f04f5270b23 (patch) | |
tree | 51a73b8c28c9ec47798b30e05687071d72557c9b /zebra/zebra_rib.c | |
parent | e719fb87e6a096739819ae5800002e44df5a5eb3 (diff) | |
download | quagga-3efe75228654cb871967c4082b123f04f5270b23.tar.bz2 quagga-3efe75228654cb871967c4082b123f04f5270b23.tar.xz |
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/zebra_rib.c')
-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; } |