From: Kirill Shchetiniuk <[email protected]>

Signed-off-by: Kirill Shchetiniuk <[email protected]>
---
 src/qemu/qemu_domain.c    | 15 ++++++---------
 src/qemu/qemu_driver.c    |  6 ++----
 src/qemu/qemu_migration.c | 25 +++++++++----------------
 src/qemu/qemu_monitor.c   |  6 ++----
 4 files changed, 19 insertions(+), 33 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index a42721efad..1fb469e964 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -566,7 +566,7 @@ qemuDomainMasterKeyReadFile(qemuDomainObjPrivate *priv)
 {
     g_autofree char *path = NULL;
     int fd = -1;
-    uint8_t *masterKey = NULL;
+    g_autofree uint8_t *masterKey = NULL;
     ssize_t masterKeyLen = 0;
 
     if (!(path = qemuDomainGetMasterKeyFilePath(priv->libDir)))
@@ -601,7 +601,7 @@ qemuDomainMasterKeyReadFile(qemuDomainObjPrivate *priv)
 
     masterKey = g_renew(uint8_t, masterKey, masterKeyLen);
 
-    priv->masterKey = masterKey;
+    priv->masterKey = g_steal_pointer(&masterKey);
     priv->masterKeyLen = masterKeyLen;
 
     VIR_FORCE_CLOSE(fd);
@@ -609,9 +609,7 @@ qemuDomainMasterKeyReadFile(qemuDomainObjPrivate *priv)
     return 0;
 
  error:
-    if (masterKeyLen > 0)
-        memset(masterKey, 0, masterKeyLen);
-    VIR_FREE(masterKey);
+    virSecureErase(masterKey, masterKeyLen);
 
     VIR_FORCE_CLOSE(fd);
 
@@ -3322,7 +3320,7 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
 {
     qemuDomainObjPrivate *priv = vm->privateData;
     virQEMUDriver *driver = config->priv;
-    char *monitorpath;
+    g_autofree char *monitorpath = NULL;
     g_autofree char *tmp = NULL;
     int n;
     size_t i;
@@ -3349,13 +3347,12 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
 
     switch (priv->monConfig->type) {
     case VIR_DOMAIN_CHR_TYPE_PTY:
-        priv->monConfig->data.file.path = monitorpath;
+        priv->monConfig->data.file.path = g_steal_pointer(&monitorpath);
         break;
     case VIR_DOMAIN_CHR_TYPE_UNIX:
-        priv->monConfig->data.nix.path = monitorpath;
+        priv->monConfig->data.nix.path = g_steal_pointer(&monitorpath);
         break;
     default:
-        VIR_FREE(monitorpath);
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("unsupported monitor type '%1$s'"),
                        virDomainChrTypeToString(priv->monConfig->type));
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a1b1edcbbf..12a1b2ae9d 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -18858,7 +18858,7 @@ qemuDomainGetGuestVcpus(virDomainPtr dom,
 {
     virDomainObj *vm = NULL;
     qemuAgent *agent;
-    qemuAgentCPUInfo *info = NULL;
+    g_autofree qemuAgentCPUInfo *info = NULL;
     int ninfo = 0;
     int ret = -1;
 
@@ -18892,7 +18892,6 @@ qemuDomainGetGuestVcpus(virDomainPtr dom,
     virDomainObjEndAgentJob(vm);
 
  cleanup:
-    VIR_FREE(info);
     virDomainObjEndAPI(&vm);
     return ret;
 }
@@ -18906,7 +18905,7 @@ qemuDomainSetGuestVcpus(virDomainPtr dom,
 {
     virDomainObj *vm = NULL;
     g_autoptr(virBitmap) map = NULL;
-    qemuAgentCPUInfo *info = NULL;
+    g_autofree qemuAgentCPUInfo *info = NULL;
     qemuAgent *agent;
     int ninfo = 0;
     size_t i;
@@ -18976,7 +18975,6 @@ qemuDomainSetGuestVcpus(virDomainPtr dom,
     virDomainObjEndAgentJob(vm);
 
  cleanup:
-    VIR_FREE(info);
     virDomainObjEndAPI(&vm);
     return ret;
 }
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 9109c4526d..fd050641c7 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -3852,7 +3852,7 @@ qemuMigrationDstPrepareTunnel(virQEMUDriver *driver,
 static virURI *
 qemuMigrationAnyParseURI(const char *uri, bool *wellFormed)
 {
-    char *tmp = NULL;
+    g_autofree char *tmp = NULL;
     virURI *parsed;
 
     /* For compatibility reasons tcp://... URIs are sent as tcp:...
@@ -3865,7 +3865,6 @@ qemuMigrationAnyParseURI(const char *uri, bool 
*wellFormed)
     parsed = virURIParse(uri);
     if (parsed && wellFormed)
         *wellFormed = !tmp;
-    VIR_FREE(tmp);
 
     return parsed;
 }
@@ -4044,18 +4043,16 @@ qemuMigrationAnyPrepareDef(virQEMUDriver *driver,
     if (!(def = virDomainDefParseString(dom_xml, driver->xmlopt,
                                         qemuCaps,
                                         VIR_DOMAIN_DEF_PARSE_INACTIVE)))
-        goto cleanup;
+        return NULL;
 
     if (dname) {
         name = def->name;
         def->name = g_strdup(dname);
     }
 
- cleanup:
-    if (def && origname)
-        *origname = name;
-    else
-        VIR_FREE(name);
+    if (origname)
+        *origname = g_steal_pointer(&name);
+
     return def;
 }
 
@@ -4331,7 +4328,7 @@ struct _qemuMigrationIOThread {
 static void qemuMigrationSrcIOFunc(void *arg)
 {
     qemuMigrationIOThread *data = arg;
-    char *buffer = NULL;
+    g_autofree char *buffer = NULL;
     struct pollfd fds[2];
     int timeout = -1;
     virErrorPtr err = NULL;
@@ -4409,7 +4406,6 @@ static void qemuMigrationSrcIOFunc(void *arg)
         goto error;
 
     VIR_FORCE_CLOSE(data->sock);
-    VIR_FREE(buffer);
 
     return;
 
@@ -4428,7 +4424,6 @@ static void qemuMigrationSrcIOFunc(void *arg)
     if (!virLastErrorIsSystemErrno(EPIPE))
         virCopyLastError(&data->err);
     virResetLastError();
-    VIR_FREE(buffer);
 }
 
 
@@ -4436,7 +4431,7 @@ static qemuMigrationIOThread *
 qemuMigrationSrcStartTunnel(virStreamPtr st,
                             int sock)
 {
-    qemuMigrationIOThread *io = NULL;
+    g_autofree qemuMigrationIOThread *io = NULL;
     int wakeupFD[2] = { -1, -1 };
 
     if (virPipe(wakeupFD) < 0)
@@ -4459,12 +4454,11 @@ qemuMigrationSrcStartTunnel(virStreamPtr st,
         goto error;
     }
 
-    return io;
+    return g_steal_pointer(&io);
 
  error:
     VIR_FORCE_CLOSE(wakeupFD[0]);
     VIR_FORCE_CLOSE(wakeupFD[1]);
-    VIR_FREE(io);
     return NULL;
 }
 
@@ -7131,7 +7125,7 @@ qemuMigrationSrcToLegacyFile(virQEMUDriver *driver,
     qemuDomainObjPrivate *priv = vm->privateData;
     int ret = -1;
     int pipeFD[2] = { -1, -1 };
-    char *errbuf = NULL;
+    g_autofree char *errbuf = NULL;
 
     if (compressor && virPipe(pipeFD) < 0)
         return -1;
@@ -7177,7 +7171,6 @@ qemuMigrationSrcToLegacyFile(virQEMUDriver *driver,
 
     if (errbuf) {
         VIR_DEBUG("Compression binary stderr: %s", NULLSTR(errbuf));
-        VIR_FREE(errbuf);
     }
 
     return ret;
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
index 0f1a9d13f5..b6b606963d 100644
--- a/src/qemu/qemu_monitor.c
+++ b/src/qemu/qemu_monitor.c
@@ -890,7 +890,7 @@ qemuMonitorInitBalloonObjectPath(qemuMonitor *mon,
                                  virDomainMemballoonDef *balloon)
 {
     ssize_t i, nprops = 0;
-    char *path = NULL;
+    g_autofree char *path = NULL;
     const char *name;
     qemuMonitorJSONListPath **bprops = NULL;
 
@@ -970,7 +970,6 @@ qemuMonitorInitBalloonObjectPath(qemuMonitor *mon,
     for (i = 0; i < nprops; i++)
         qemuMonitorJSONListPathFree(bprops[i]);
     VIR_FREE(bprops);
-    VIR_FREE(path);
     return;
 }
 
@@ -2341,7 +2340,7 @@ qemuMonitorMigrateToHost(qemuMonitor *mon,
                          int port)
 {
     int ret;
-    char *uri = NULL;
+    g_autofree char *uri = NULL;
     VIR_DEBUG("hostname=%s port=%d flags=0x%x", hostname, port, flags);
 
     QEMU_CHECK_MONITOR(mon);
@@ -2352,7 +2351,6 @@ qemuMonitorMigrateToHost(qemuMonitor *mon,
 
     ret = qemuMonitorJSONMigrate(mon, flags, uri);
 
-    VIR_FREE(uri);
     return ret;
 }
 
-- 
2.49.0

Reply via email to