img_rebase() can leak a QDict in two occasions. Fix it. Coverity: CID 1401416 Fixes: d16699b64671466b42079c45b89127aeea1ca565 Fixes: 330c72957196e0ae382abcaa97ebf4eb9bc8574f Signed-off-by: Max Reitz <mre...@redhat.com> Message-id: 20190528195338.12376-1-mre...@redhat.com Reviewed-by: John Snow <js...@redhat.com> Signed-off-by: Max Reitz <mre...@redhat.com> --- qemu-img.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/qemu-img.c b/qemu-img.c index fd62e3ad5d..da14aea46a 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -3350,6 +3350,7 @@ static int img_rebase(int argc, char **argv) out_baseimg, &local_err); if (local_err) { + qobject_unref(options); error_reportf_err(local_err, "Could not resolve backing filename: "); ret = -1; @@ -3362,7 +3363,9 @@ static int img_rebase(int argc, char **argv) */ prefix_chain_bs = bdrv_find_backing_image(bs, out_real_path); if (prefix_chain_bs) { + qobject_unref(options); g_free(out_real_path); + blk_new_backing = blk_new(qemu_get_aio_context(), BLK_PERM_CONSISTENT_READ, BLK_PERM_ALL); -- 2.21.0