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:
parent
03da89d141
commit
1035c51f3b
@ -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);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user