[PATCH 11/42] vbox: Use g_autofree on vboxDomainScreenshot()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This also fixes a cacheDir's leak when g_mkstep_full() fails.

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 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

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux