EFence helped to find using of already free rte's in rt_prune().
This commit is contained in:
parent
53b7a2982a
commit
51ad41f2fc
1 changed files with 2 additions and 0 deletions
|
@ -328,11 +328,13 @@ rt_prune(rtable *tab)
|
||||||
net *n = (net *) f;
|
net *n = (net *) f;
|
||||||
rte *e;
|
rte *e;
|
||||||
ncnt++;
|
ncnt++;
|
||||||
|
rescan:
|
||||||
for (e=n->routes; e; e=e->next, rcnt++)
|
for (e=n->routes; e; e=e->next, rcnt++)
|
||||||
if (e->attrs->proto->core_state != FS_HAPPY)
|
if (e->attrs->proto->core_state != FS_HAPPY)
|
||||||
{
|
{
|
||||||
rte_discard(e);
|
rte_discard(e);
|
||||||
rdel++;
|
rdel++;
|
||||||
|
goto rescan;
|
||||||
}
|
}
|
||||||
if (!n->routes) /* Orphaned FIB entry? */
|
if (!n->routes) /* Orphaned FIB entry? */
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue