From e26873fd8f0c4306eff65de94a45b4114fc81b98 Mon Sep 17 00:00:00 2001 From: Roman Hoog Antink Date: Wed, 5 May 2010 16:00:50 +0200 Subject: zebra: fix infinite loop when deleting an interface When deleting a VLAN interface after flushing its addresses, zebra uses 100% CPU time and freezes. * interface.c: The while loop in line 407 that should clean up connected routes never hits one of the 2 lines "last = node;" and thus loops forever. Signed-off-by: Roman Hoog Antink --- zebra/interface.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'zebra/interface.c') diff --git a/zebra/interface.c b/zebra/interface.c index ba4cf25f..03e7ff71 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -477,6 +477,10 @@ if_delete_update (struct interface *ifp) } } #endif /* HAVE_IPV6 */ + else + { + last = node; + } } } zebra_interface_delete_update (ifp); -- cgit v1.2.1