aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/classify/vnet_classify.c
diff options
context:
space:
mode:
Diffstat (limited to 'vnet/vnet/classify/vnet_classify.c')
-rw-r--r--vnet/vnet/classify/vnet_classify.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/vnet/vnet/classify/vnet_classify.c b/vnet/vnet/classify/vnet_classify.c
index 23aa51592c2..3b75ab5dc67 100644
--- a/vnet/vnet/classify/vnet_classify.c
+++ b/vnet/vnet/classify/vnet_classify.c
@@ -980,8 +980,11 @@ uword unformat_classify_mask (unformat_input_t * input, va_list * args)
if (l2 == 0)
vec_validate (l2, 13);
mask = l2;
- vec_append (mask, l3);
- vec_free (l3);
+ if (l3)
+ {
+ vec_append (mask, l3);
+ vec_free (l3);
+ }
}
/* Scan forward looking for the first significant mask octet */
@@ -1715,8 +1718,11 @@ uword unformat_classify_match (unformat_input_t * input, va_list * args)
if (l2 == 0)
vec_validate_aligned (l2, 13, sizeof(u32x4));
match = l2;
- vec_append_aligned (match, l3, sizeof(u32x4));
- vec_free (l3);
+ if (l3)
+ {
+ vec_append_aligned (match, l3, sizeof(u32x4));
+ vec_free (l3);
+ }
}
/* Make sure the vector is big enough even if key is all 0's */