From 01018ce479cce0af61d3797e5200cc340fe6ec0e Mon Sep 17 00:00:00 2001 From: hasso Date: Fri, 5 Aug 2005 07:40:15 +0000 Subject: * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX] for default-information. Fixes bugzilla #208. [backport candidate] --- ospfd/ChangeLog | 6 ++++++ ospfd/ospf_zebra.c | 10 +++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'ospfd') diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 4070a8f7..cb164590 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,9 @@ +2005-08-05 Hasso Tepper + + * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if + dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX] + for default-information. + 2005-07-26 Paul Jakma * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 9db89810..0e1905a0 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -927,7 +927,7 @@ ospf_distribute_list_update_timer (struct thread *thread) struct ospf *ospf; type = (intptr_t)THREAD_ARG (thread); - assert (type < ZEBRA_ROUTE_MAX); + assert (type <= ZEBRA_ROUTE_MAX); rt = EXTERNAL_INFO (type); @@ -992,7 +992,7 @@ ospf_filter_update (struct access_list *access) return; /* Update distribute-list, and apply filter. */ - for (type = 0; type < ZEBRA_ROUTE_MAX; type++) + for (type = 0; type <= ZEBRA_ROUTE_MAX; type++) { if (ROUTEMAP (ospf, type) != NULL) { @@ -1001,6 +1001,10 @@ ospf_filter_update (struct access_list *access) continue; } + /* There is place for route-map for default-information (ZEBRA_ROUTE_MAX), + * but no distribute list. */ + if (type == ZEBRA_ROUTE_MAX) + break; if (DISTRIBUTE_NAME (ospf, type)) { @@ -1061,7 +1065,7 @@ ospf_prefix_list_update (struct prefix_list *plist) /* Update all route-maps which are used as redistribution filters. * They might use prefix-list. */ - for (type = 0; type < ZEBRA_ROUTE_MAX; type++) + for (type = 0; type <= ZEBRA_ROUTE_MAX; type++) { if (ROUTEMAP (ospf, type) != NULL) { -- cgit v1.2.1