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
(cherry picked from commit 1e3a252974)
This commit is contained in:
Ján Tomko 2013-06-25 15:10:27 +02:00
parent 89c7490895
commit b385809e4e

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;