summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorpaul <paul>2003-09-29 20:06:13 +0000
committerpaul <paul>2003-09-29 20:06:13 +0000
commit143a385f0cb858126e79bb7c637c2aede234c4ab (patch)
tree50114b91a57e3fde3c03030d20a19663c3d576ba /zebra
parent5ae016eeecc8f0ce353b875b98a7c64ce70931dd (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.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;
}