qemu/hw/block
Paul Durrant 156ac94463 xen-block: stop leaking memory in xen_block_drive_create()
The locally allocated QDict-s need to be freed. ('file_layer' will be
freed implicitly since it is added as an object to 'driver_layer').

Spotted by Coverity: CID 1398649

While in the neighbourhood free 'driver' and 'filename' as soon as they are
added to the QDicts. Freeing after the 'done' label doesn't make that much
sense as, if the error path jumps to that label, the values would be NULL
anyway.

This patch also makes that more obvious by taking the error path if
'params' is NULL and then asserting that both driver and filename are
non-NULL in the normal path.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Message-Id: <20190219163440.15702-1-paul.durrant@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
2019-02-28 17:21:12 +00:00
..
dataplane dataplane/xen-block: remove dead code 2019-02-28 17:21:12 +00:00
block.c block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
cdrom.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ecc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
fdc.c fdc: fix segfault in fdctrl_stop_transfer() when DMA is disabled 2018-11-19 12:51:22 +01:00
hd-geometry.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
m25p80.c hw/block: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
Makefile.objs xen: remove the legacy 'xen_disk' backend 2019-01-14 13:45:40 +00:00
nand.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
nvme.c nvme: use pci_dev directly in nvme_realize 2019-01-31 00:38:19 +01:00
nvme.h qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
onenand.c block/noenand: Convert sysbus init function to realize function 2018-12-13 13:47:57 +00:00
pflash_cfi01.c hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events 2018-06-29 15:04:18 +01:00
pflash_cfi02.c hw/block/pflash_cfi: Convert from DPRINTF() macro to trace events 2018-06-29 15:04:18 +01:00
tc58128.c hw/block/tc58128.c: Don't use load_image() 2018-12-14 13:30:52 +00:00
trace-events xen-block: handle resize callback 2019-02-04 11:04:49 +00:00
vhost-user-blk.c vhost-user-blk: add discard/write zeroes features support 2019-02-05 10:58:33 -05:00
virtio-blk.c Block layer patches: 2019-02-26 19:04:47 +00:00
xen_blkif.h xen: import ring.h from xen 2017-04-21 12:41:29 -07:00
xen-block.c xen-block: stop leaking memory in xen_block_drive_create() 2019-02-28 17:21:12 +00:00