From: Donatas Abraitis Date: Fri, 19 Jul 2019 12:56:58 +0000 (+0300) Subject: bgpd: Strip `delete` keyword when looking up for communities X-Git-Tag: base_7.2~93^2~2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=60762f8f19822818ea6407ade7f51bc1957c2fdd;p=matthieu%2Ffrr.git bgpd: Strip `delete` keyword when looking up for communities Signed-off-by: Donatas Abraitis --- diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index 1f90fa742a..8990ece1a6 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -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; }