diff options
Diffstat (limited to 'isisd')
-rw-r--r-- | isisd/ChangeLog | 5 | ||||
-rw-r--r-- | isisd/isis_circuit.c | 13 |
2 files changed, 13 insertions, 5 deletions
diff --git a/isisd/ChangeLog b/isisd/ChangeLog index 35296fb4..726593ab 100644 --- a/isisd/ChangeLog +++ b/isisd/ChangeLog @@ -1,5 +1,10 @@ 2004-09-26 Hasso Tepper <hasso at quagga.net> + * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration + and don't crash if circuit->area == NULL. + +2004-09-26 Hasso Tepper <hasso at quagga.net> + * *.[c|h]: Fix a lot of compiler warnings. * isis_events.c: Remove isis_event_int_reach_change() function, as it doesn't make sense for now. Call lsp_regenerate_schedule() directly diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index 2dbdba3e..3669cf43 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -241,7 +241,8 @@ isis_circuit_add_addr (struct isis_circuit *circuit, ipv4->prefixlen = connected->address->prefixlen; ipv4->prefix = connected->address->u.prefix4; listnode_add (circuit->ip_addrs, ipv4); - lsp_regenerate_schedule (circuit->area); + if (circuit->area) + lsp_regenerate_schedule (circuit->area); #ifdef EXTREME_DEBUG prefix2str (connected->address, buf, BUFSIZ); @@ -260,8 +261,8 @@ isis_circuit_add_addr (struct isis_circuit *circuit, listnode_add (circuit->ipv6_link, ipv6); else listnode_add (circuit->ipv6_non_link, ipv6); - - lsp_regenerate_schedule (circuit->area); + if (circuit->area) + lsp_regenerate_schedule (circuit->area); #ifdef EXTREME_DEBUG prefix2str (connected->address, buf, BUFSIZ); @@ -302,7 +303,8 @@ isis_circuit_del_addr (struct isis_circuit *circuit, if (ip) { listnode_delete (circuit->ip_addrs, ip); - lsp_regenerate_schedule (circuit->area); + if (circuit->area) + lsp_regenerate_schedule (circuit->area); } else { @@ -354,7 +356,8 @@ isis_circuit_del_addr (struct isis_circuit *circuit, circuit %d", buf, circuit->circuit_id); } else - lsp_regenerate_schedule (circuit->area); + if (circuit->area) + lsp_regenerate_schedule (circuit->area); } #endif /* HAVE_IPV6 */ return; |