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/ospf_zebra.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'ospfd/ospf_zebra.c') 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