net/virtio: fix dangling pointer on failure

When eth_virtio_dev_init() is cleaning up, it does not correctly set
the mac_addrs variable to NULL, which will lead to a double free.

Found during unit-test fixes.

Fixes: 43d18765c0 ("net/virtio: fix memory leak on failure")
Cc: stable@dpdk.org

Reported-by: Michael Santana <msantana@redhat.com>
Signed-off-by: Aaron Conole <aconole@redhat.com>
Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
This commit is contained in:
Aaron Conole 2019-04-15 10:48:18 -04:00 committed by Ferruh Yigit
parent 966027b4b3
commit 7dee8c7948

View File

@ -1862,6 +1862,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
out:
rte_free(eth_dev->data->mac_addrs);
eth_dev->data->mac_addrs = NULL;
return ret;
}