summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorpaul <paul>2003-09-29 20:06:13 +0000
committerpaul <paul>2003-09-29 20:06:13 +0000
commit3efe75228654cb871967c4082b123f04f5270b23 (patch)
tree51a73b8c28c9ec47798b30e05687071d72557c9b /zebra/zebra_rib.c
parente719fb87e6a096739819ae5800002e44df5a5eb3 (diff)
downloadquagga-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.c3
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;
}