summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_clist.c5
-rw-r--r--lib/command_match.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/bgpd/bgp_clist.c b/bgpd/bgp_clist.c
index 7cf147754..0ffbe174e 100644
--- a/bgpd/bgp_clist.c
+++ b/bgpd/bgp_clist.c
@@ -1054,6 +1054,9 @@ int extcommunity_list_set(struct community_list_handler *ch, const char *name,
struct ecommunity *ecom = NULL;
regex_t *regex = NULL;
+ if (str == NULL)
+ return COMMUNITY_LIST_ERR_MALFORMED_VAL;
+
entry = NULL;
/* Get community list. */
@@ -1089,7 +1092,7 @@ int extcommunity_list_set(struct community_list_handler *ch, const char *name,
entry = community_entry_new();
entry->direct = direct;
entry->style = style;
- entry->any = (str ? 0 : 1);
+ entry->any = 0;
if (ecom)
entry->config = ecommunity_ecom2str(
ecom, ECOMMUNITY_FORMAT_COMMUNITY_LIST, 0);
diff --git a/lib/command_match.c b/lib/command_match.c
index 99ec03e0c..4893ead04 100644
--- a/lib/command_match.c
+++ b/lib/command_match.c
@@ -609,6 +609,7 @@ static struct list *disambiguate(struct list *first, struct list *second,
vector vline, unsigned int n)
{
// doesn't make sense for these to be inequal length
+ assert(first && second);
assert(first->count == second->count);
assert(first->count == vector_active(vline) - n + 1);