1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-10 05:17:59 +03:00

virsh: Fix resource leaks when editing files.

The cleanup path in virsh-edit helper was never reached when the edit
was successful leaking the document in memory as well as the temporary
file.
This commit is contained in:
Peter Krempa 2012-09-19 11:31:44 +02:00
parent 03da89d141
commit 1035c51f3b

View File

@ -68,6 +68,7 @@ do {
char *doc_edited = NULL; char *doc_edited = NULL;
char *doc_reread = NULL; char *doc_reread = NULL;
const char *msg = NULL; const char *msg = NULL;
bool edit_success = false;
/* Get the XML configuration of the object. */ /* Get the XML configuration of the object. */
doc = (EDIT_GET_XML); doc = (EDIT_GET_XML);
@ -139,7 +140,7 @@ redefine:
} }
} }
break; edit_success = true;
edit_cleanup: edit_cleanup:
VIR_FREE(doc); VIR_FREE(doc);
@ -149,7 +150,9 @@ edit_cleanup:
unlink (tmp); unlink (tmp);
VIR_FREE(tmp); VIR_FREE(tmp);
} }
goto cleanup;
if (!edit_success)
goto cleanup;
} while (0); } while (0);