From c2520346bf871dd971809db2f821f08097c6b8b3 Mon Sep 17 00:00:00 2001 From: Dariusz Stojaczyk Date: Fri, 30 Mar 2018 18:58:47 +0200 Subject: [PATCH] bdev/virtio/blk: fix memory leaks on device init failure Change-Id: I43dfe7f7067a7344922f4dfbdce34b72754b9c0a Signed-off-by: Dariusz Stojaczyk Reviewed-on: https://review.gerrithub.io/405914 Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris Reviewed-by: Daniel Verkamp --- lib/bdev/virtio/bdev_virtio_blk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/bdev/virtio/bdev_virtio_blk.c b/lib/bdev/virtio/bdev_virtio_blk.c index 8fdcdd6c0..30b70d8ba 100644 --- a/lib/bdev/virtio/bdev_virtio_blk.c +++ b/lib/bdev/virtio/bdev_virtio_blk.c @@ -448,12 +448,14 @@ virtio_pci_blk_dev_create(const char *name, struct virtio_pci_ctx *pci_ctx) free(default_name); if (rc != 0) { - free(vdev); + free(bvdev); return NULL; } rc = virtio_dev_reset(vdev, VIRTIO_BLK_DEV_SUPPORTED_FEATURES); if (rc != 0) { + virtio_dev_destruct(vdev); + free(bvdev); return NULL; }