From 16e31fb38da3c2b9a35faff9ac626d947199cf13 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Tue, 13 Jun 2017 13:25:07 +0200 Subject: [PATCH] qemu: Fix starting a domain with corrupted managed save file Commit v3.4.0-44-gac793bd71 fixed a memory leak, but failed to return the special -3 value. Thus an attempt to start a domain with corrupted managed save file would removed the corrupted file and report "An error occurred, but the cause is unknown" instead of starting the domain from scratch. https://bugzilla.redhat.com/show_bug.cgi?id=1460962 --- src/qemu/qemu_driver.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 6654fd3e22..ba1dba5b7e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6450,17 +6450,15 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver, *ret_def = def; *ret_data = data; + cleanup: virObjectUnref(caps); - return fd; error: virDomainDefFree(def); virQEMUSaveDataFree(data); VIR_FORCE_CLOSE(fd); - virObjectUnref(caps); - - return -1; + goto cleanup; } static int ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6)