summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2017-12-14 14:00:58 -0200
committerRafael Zalamena <rzalamena@opensourcerouting.org>2017-12-14 14:04:01 -0200
commit1ad057aed6a16ba85ef5a770f7855d749ed94881 (patch)
treefbd836d4c60273021f243c4ac0dd471e09c9504d
parenta90b8cb58a58f2c77b8c76d76fa88cd241b776cd (diff)
bgpd: handle argv_find_and_parse_afi return value
Handle the return value of argv_find_and_parse_afi() to avoid passing along bad values. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
-rw-r--r--bgpd/rfapi/bgp_rfapi_cfg.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c
index 3fbba66774..7f2dbe7f9d 100644
--- a/bgpd/rfapi/bgp_rfapi_cfg.c
+++ b/bgpd/rfapi/bgp_rfapi_cfg.c
@@ -1626,7 +1626,11 @@ DEFUN (vnc_nve_group_export_no_prefixlist,
return CMD_WARNING_CONFIG_FAILED;
}
- argv_find_and_parse_afi(argv, argc, &idx, &afi);
+ if (!argv_find_and_parse_afi(argv, argc, &idx, &afi)) {
+ vty_out(vty, "%% Malformed Address Family\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+
if (argv[idx-1]->text[0] == 'z')
is_bgp = 0;
idx += 2; /* skip afi and keyword */
@@ -1691,7 +1695,11 @@ DEFUN (vnc_nve_group_export_prefixlist,
return CMD_WARNING_CONFIG_FAILED;
}
- argv_find_and_parse_afi(argv, argc, &idx, &afi);
+ if (!argv_find_and_parse_afi(argv, argc, &idx, &afi)) {
+ vty_out(vty, "%% Malformed Address Family\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ }
+
if (argv[idx-1]->text[0] == 'z')
is_bgp = 0;
idx = argc - 1;