From 9402b9f6487e34e7cfa0c090b0406083cc560082 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 2 May 2017 22:14:24 -0400 Subject: [PATCH] bgpd: Fix crash associated with aggregate command The cli rework created this issue Signed-off-by: Donald Sharp --- bgpd/bgp_route.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 3e51831d18..3f4f1324f8 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5860,9 +5860,8 @@ DEFUN (aggregate_address_mask, { int idx = 0; argv_find (argv, argc, "A.B.C.D", &idx); - char *prefix = argv[idx++]->arg; - argv_find (argv, argc, "A.B.C.D", &idx); - char *mask = argv[idx]->arg; + char *prefix = argv[idx]->arg; + char *mask = argv[idx+1]->arg; int as_set = argv_find (argv, argc, "as-set", &idx) ? AGGREGATE_AS_SET : 0; idx = 0; int summary_only = argv_find (argv, argc, "summary-only", &idx) ? AGGREGATE_SUMMARY_ONLY : 0; @@ -5910,9 +5909,8 @@ DEFUN (no_aggregate_address_mask, { int idx = 0; argv_find (argv, argc, "A.B.C.D", &idx); - char *prefix = argv[idx++]->arg; - argv_find (argv, argc, "A.B.C.D", &idx); - char *mask = argv[idx]->arg; + char *prefix = argv[idx]->arg; + char *mask = argv[idx++]->arg; char prefix_str[BUFSIZ]; int ret = netmask_str2prefix_str (prefix, mask, prefix_str); -- 2.39.5