summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaco <paco@voltanet.io>2018-06-15 12:39:10 +0200
committerpaco <paco@voltanet.io>2018-06-15 12:39:10 +0200
commit5beb290a7b55e5d8b0a2addd66125caaa391abb0 (patch)
tree7f437b6d4693d1cbce369283a474ff8f79968796
parente4a374681d83a495472500a9a3dbeee12de089f8 (diff)
bgpd: out-of-bounds access (Coverity 1399306)
Signed-off-by: F. Aragon <paco@voltanet.io>
-rw-r--r--bgpd/rfapi/bgp_rfapi_cfg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c
index 2f93328887..72255e54fb 100644
--- a/bgpd/rfapi/bgp_rfapi_cfg.c
+++ b/bgpd/rfapi/bgp_rfapi_cfg.c
@@ -662,7 +662,8 @@ static int rfapi_str2route_type(const char *l3str, const char *pstr, afi_t *afi,
vnc_import_bgp_exterior_redist_enable((bgp), (afi)); \
break; \
default: \
- vnc_redistribute_set((bgp), (afi), (type)); \
+ if ((type) < ZEBRA_ROUTE_MAX) \
+ vnc_redistribute_set((bgp), (afi), (type)); \
break; \
} \
} while (0)
@@ -677,7 +678,8 @@ static int rfapi_str2route_type(const char *l3str, const char *pstr, afi_t *afi,
vnc_import_bgp_exterior_redist_disable((bgp), (afi)); \
break; \
default: \
- vnc_redistribute_unset((bgp), (afi), (type)); \
+ if ((type) < ZEBRA_ROUTE_MAX) \
+ vnc_redistribute_unset((bgp), (afi), (type)); \
break; \
} \
} while (0)