From: Donald Sharp Date: Wed, 3 May 2017 02:14:24 +0000 (-0400) Subject: bgpd: Fix crash associated with aggregate command X-Git-Tag: reindent-master-before~202^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=9402b9f6487e34e7cfa0c090b0406083cc560082;p=mirror%2Ffrr.git bgpd: Fix crash associated with aggregate command The cli rework created this issue Signed-off-by: Donald Sharp --- 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);