virsh: edit: don't leak XML string on reedit or redefine

Free the old XML strings before overwriting them if the user
has chosen to reedit the file or force the redefinition.

Found by Alex Jia trying to reproduce another bug:
https://bugzilla.redhat.com/show_bug.cgi?id=977430#c3
This commit is contained in:
Ján Tomko 2013-06-25 15:10:27 +02:00
parent f3d08aa0ba
commit 1e3a252974

View File

@ -86,6 +86,7 @@ reedit:
goto edit_cleanup;
/* Read back the edited file. */
VIR_FREE(doc_edited);
doc_edited = vshEditReadBackFile(ctl, tmp);
if (!doc_edited)
goto edit_cleanup;
@ -102,6 +103,7 @@ redefine:
* it was being edited? This also catches problems such as us
* losing a connection or the object going away.
*/
VIR_FREE(doc_reread);
doc_reread = (EDIT_GET_XML);
if (!doc_reread)
goto edit_cleanup;