From: Martin Mares Date: Wed, 3 Mar 1999 20:56:33 +0000 (+0000) Subject: EFence helped to find using of already free rte's in rt_prune(). X-Git-Tag: v1.2.0~1675 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51ad41f2fc0c95179cb4ba65e568d2b84de32a28;p=thirdparty%2Fbird.git EFence helped to find using of already free rte's in rt_prune(). --- diff --git a/nest/rt-table.c b/nest/rt-table.c index 621a8353a..4da6807ac 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -328,11 +328,13 @@ rt_prune(rtable *tab) net *n = (net *) f; rte *e; ncnt++; + rescan: for (e=n->routes; e; e=e->next, rcnt++) if (e->attrs->proto->core_state != FS_HAPPY) { rte_discard(e); rdel++; + goto rescan; } if (!n->routes) /* Orphaned FIB entry? */ {