]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Strip `delete` keyword when looking up for communities
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Fri, 19 Jul 2019 12:56:58 +0000 (15:56 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Fri, 2 Aug 2019 06:35:04 +0000 (09:35 +0300)
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_routemap.c

index 4467210603c42544fae68a83cdccbcd895908764..29201f96225df62aed3fb4c84be82380b42f2555 100644 (file)
@@ -2122,12 +2122,19 @@ static route_map_result_t route_set_community_delete(
 static void *route_set_community_delete_compile(const char *arg)
 {
        struct rmap_community *rcom;
+       char **splits;
+       int num;
 
-       rcom = XCALLOC(MTYPE_ROUTE_MAP_COMPILED, sizeof(struct rmap_community));
+       frrstr_split(arg, " ", &splits, &num);
 
-       rcom->name = XSTRDUP(MTYPE_ROUTE_MAP_COMPILED, arg);
+       rcom = XCALLOC(MTYPE_ROUTE_MAP_COMPILED, sizeof(struct rmap_community));
+       rcom->name = XSTRDUP(MTYPE_ROUTE_MAP_COMPILED, splits[0]);
        rcom->name_hash = bgp_clist_hash_key(rcom->name);
 
+       for (int i = 0; i < num; i++)
+               XFREE(MTYPE_TMP, splits[i]);
+       XFREE(MTYPE_TMP, splits);
+
        return rcom;
 }