This also fixes a cacheDir's leak when g_mkstep_full() fails.
Signed-off-by: Fabiano FidĂȘncio <fidencio(a)redhat.com>
---
src/vbox/vbox_common.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 5957ae52c4..586937fa19 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -7341,8 +7341,8 @@ vboxDomainScreenshot(virDomainPtr dom,
vboxIID iid;
IMachine *machine = NULL;
nsresult rc;
- char *tmp;
- char *cacheDir;
+ g_autofree char *tmp = NULL;
+ g_autofree char *cacheDir = NULL;
int tmp_fd = -1;
unsigned int max_screen;
bool privileged = geteuid() == 0;
@@ -7383,7 +7383,6 @@ vboxDomainScreenshot(virDomainPtr dom,
if ((tmp_fd = g_mkstemp_full(tmp, O_RDWR | O_CLOEXEC, S_IRUSR | S_IWUSR)) == -1) {
virReportSystemError(errno, _("g_mkstemp(\"%s\") failed"),
tmp);
- VIR_FREE(tmp);
VBOX_RELEASE(machine);
return NULL;
}
@@ -7454,8 +7453,6 @@ vboxDomainScreenshot(virDomainPtr dom,
VIR_FORCE_CLOSE(tmp_fd);
unlink(tmp);
- VIR_FREE(tmp);
- VIR_FREE(cacheDir);
VBOX_RELEASE(machine);
vboxIIDUnalloc(&iid);
return ret;
--
2.24.1