examples/vhost: fix crash when linking device to VMDQ fails
authorHuawei Xie <huawei.xie@intel.com>
Fri, 30 Jan 2015 07:13:36 +0000 (15:13 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 30 Jan 2015 09:41:08 +0000 (10:41 +0100)
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
examples/vhost/main.c

index 04f0118..3a35359 100644 (file)
@@ -1308,8 +1308,8 @@ switch_worker(__attribute__((unused)) void *arg)
                                /* If this is the first received packet we need to learn the MAC and setup VMDQ */
                                if (unlikely(vdev->ready == DEVICE_MAC_LEARNING) && tx_count) {
                                        if (vdev->remove || (link_vmdq(vdev, pkts_burst[0]) == -1)) {
-                                               while (tx_count--)
-                                                       rte_pktmbuf_free(pkts_burst[tx_count]);
+                                               while (tx_count)
+                                                       rte_pktmbuf_free(pkts_burst[--tx_count]);
                                        }
                                }
                                while (tx_count)