vfio/pci: Fix a potential memory leak in vfio_listener_region_add
commitfde4dbb7e61396a38fcc172ab02dbf839b468ebe
authorZhenzhong Duan <zhenzhong.duan@intel.com>
Mon, 9 Oct 2023 02:20:46 +0000 (9 10:20 +0800)
committerCédric Le Goater <clg@redhat.com>
Wed, 18 Oct 2023 08:10:49 +0000 (18 10:10 +0200)
tree545808fec01b5d85e0e0b6e797bdb560d8997539
parent7e63b3113889b531cbb56b09d69cc182608bb78e
vfio/pci: Fix a potential memory leak in vfio_listener_region_add

When there is an failure in vfio_listener_region_add() and the section
belongs to a ram device, there is an inaccurate error report which should
never be related to vfio_dma_map failure. The memory holding err is also
incrementally leaked in each failure.

Fix it by reporting the real error and free it.

Fixes: 567b5b309ab ("vfio/pci: Relax DMA map errors for MMIO regions")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
hw/vfio/common.c