diff options
-rw-r--r-- | lib/flow.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/flow.c b/lib/flow.c index 9b84b19f5..2b1ec4fed 100644 --- a/lib/flow.c +++ b/lib/flow.c @@ -2222,7 +2222,9 @@ flow_push_vlan_uninit(struct flow *flow, struct flow_wildcards *wc) { if (wc) { int n = flow_count_vlan_headers(flow); - memset(wc->masks.vlans, 0xff, sizeof(union flow_vlan_hdr) * n); + if (n) { + memset(wc->masks.vlans, 0xff, sizeof(union flow_vlan_hdr) * n); + } } memmove(&flow->vlans[1], &flow->vlans[0], sizeof(union flow_vlan_hdr) * (FLOW_MAX_VLAN_HEADERS - 1)); |