summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/flow.c4
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));