diff options
| author | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2017-12-14 14:00:58 -0200 |
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2017-12-14 14:04:01 -0200 |
| commit | 1ad057aed6a16ba85ef5a770f7855d749ed94881 (patch) | |
| tree | fbd836d4c60273021f243c4ac0dd471e09c9504d | |
| parent | a90b8cb58a58f2c77b8c76d76fa88cd241b776cd (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.c | 12 |
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; |
