]> git.puffer.fish Git - matthieu/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, 19 Jul 2019 12:56:58 +0000 (15:56 +0300)
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_routemap.c

index 1f90fa742a7bb10777c95e2c079bb1e1041fc721..8990ece1a6d1f776c5228f07baa21767e7170df4 100644 (file)
@@ -2177,12 +2177,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;
 }