diff options
| author | hasso <hasso> | 2005-08-05 07:40:15 +0000 | 
|---|---|---|
| committer | hasso <hasso> | 2005-08-05 07:40:15 +0000 | 
| commit | 01018ce479cce0af61d3797e5200cc340fe6ec0e (patch) | |
| tree | 0d497a18a8848231be1e4a9806394769bf855525 /ospfd/ospf_zebra.c | |
| parent | e279c7a6f35a211453ec52fdd16ab78535f5d727 (diff) | |
	* 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]
Diffstat (limited to 'ospfd/ospf_zebra.c')
| -rw-r--r-- | ospfd/ospf_zebra.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| 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)          { | 
