flow: Add length check when retrieving TCP flags.
[openvswitch] / lib / dpif-netdev.c
index e1dc725dd8874b58c1af44ac87f33178bca462c1..d73050a3461480e68be2eb8df4c182a073c683ef 100644 (file)
@@ -976,7 +976,8 @@ dp_netdev_flow_used(struct dp_netdev_flow *flow, struct flow *key,
     flow->used = time_msec();
     flow->packet_count++;
     flow->byte_count += packet->size;
-    if (key->dl_type == htons(ETH_TYPE_IP) && key->nw_proto == IPPROTO_TCP) {
+    if (key->dl_type == htons(ETH_TYPE_IP) &&
+        key->nw_proto == IPPROTO_TCP && packet->l7) {
         struct tcp_header *th = packet->l4;
         flow->tcp_ctl |= th->tcp_ctl;
     }