]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Don't take double pointer in qemuDomainSecretInfoFree
authorPeter Krempa <pkrempa@redhat.com>
Fri, 6 Mar 2020 13:44:43 +0000 (14:44 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 16 Mar 2020 10:01:08 +0000 (11:01 +0100)
Using a double pointer prevents the function from being used as the
automatic cleanup function for the given type.

Remove the double pointer use by replacing the calls with
g_clear_pointer which ensures that the pointer is cleared.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_migration_params.c

index 4b467afa8134d903bdf07f496cd72a748dea21ec..7c962fb062716d5dd1ad6bead87ff9f36f7e24e6 100644 (file)
@@ -1100,14 +1100,10 @@ qemuDomainSecretInfoClear(qemuDomainSecretInfoPtr secinfo,
 
 
 void
-qemuDomainSecretInfoFree(qemuDomainSecretInfoPtr *secinfo)
+qemuDomainSecretInfoFree(qemuDomainSecretInfoPtr secinfo)
 {
-    if (!*secinfo)
-        return;
-
-    qemuDomainSecretInfoClear(*secinfo, false);
-
-    VIR_FREE(*secinfo);
+    qemuDomainSecretInfoClear(secinfo, false);
+    g_free(secinfo);
 }
 
 
@@ -1197,8 +1193,8 @@ qemuDomainStorageSourcePrivateDispose(void *obj)
 {
     qemuDomainStorageSourcePrivatePtr priv = obj;
 
-    qemuDomainSecretInfoFree(&priv->secinfo);
-    qemuDomainSecretInfoFree(&priv->encinfo);
+    g_clear_pointer(&priv->secinfo, qemuDomainSecretInfoFree);
+    g_clear_pointer(&priv->encinfo, qemuDomainSecretInfoFree);
 }
 
 
@@ -1277,7 +1273,7 @@ qemuDomainChrSourcePrivateDispose(void *obj)
 {
     qemuDomainChrSourcePrivatePtr priv = obj;
 
-    qemuDomainSecretInfoFree(&priv->secinfo);
+    g_clear_pointer(&priv->secinfo, qemuDomainSecretInfoFree);
 }
 
 
@@ -1356,7 +1352,7 @@ qemuDomainGraphicsPrivateDispose(void *obj)
     qemuDomainGraphicsPrivatePtr priv = obj;
 
     VIR_FREE(priv->tlsAlias);
-    qemuDomainSecretInfoFree(&priv->secinfo);
+    g_clear_pointer(&priv->secinfo, qemuDomainSecretInfoFree);
 }
 
 
@@ -1632,7 +1628,7 @@ qemuDomainSecretInfoNewPlain(virSecretUsageType usageType,
         return NULL;
 
     if (qemuDomainSecretPlainSetup(secinfo, usageType, username, lookupDef) < 0) {
-        qemuDomainSecretInfoFree(&secinfo);
+        g_clear_pointer(&secinfo, qemuDomainSecretInfoFree);
         return NULL;
     }
 
@@ -1675,7 +1671,7 @@ qemuDomainSecretInfoNew(qemuDomainObjPrivatePtr priv,
 
     if (qemuDomainSecretAESSetup(priv, secinfo, srcAlias, usageType, username,
                                  lookupDef, isLuks) < 0) {
-        qemuDomainSecretInfoFree(&secinfo);
+        g_clear_pointer(&secinfo, qemuDomainSecretInfoFree);
         return NULL;
     }
 
@@ -1837,7 +1833,7 @@ qemuDomainSecretHostdevDestroy(virDomainHostdevDefPtr hostdev)
         if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) {
             srcPriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(iscsisrc->src);
             if (srcPriv && srcPriv->secinfo)
-                qemuDomainSecretInfoFree(&srcPriv->secinfo);
+                g_clear_pointer(&srcPriv->secinfo, qemuDomainSecretInfoFree);
         }
     }
 }
@@ -1881,7 +1877,7 @@ qemuDomainSecretChardevDestroy(virDomainChrSourceDefPtr dev)
     if (!chrSourcePriv || !chrSourcePriv->secinfo)
         return;
 
-    qemuDomainSecretInfoFree(&chrSourcePriv->secinfo);
+    g_clear_pointer(&chrSourcePriv->secinfo, qemuDomainSecretInfoFree);
 }
 
 
@@ -1936,7 +1932,7 @@ qemuDomainSecretGraphicsDestroy(virDomainGraphicsDefPtr graphics)
         return;
 
     VIR_FREE(gfxPriv->tlsAlias);
-    qemuDomainSecretInfoFree(&gfxPriv->secinfo);
+    g_clear_pointer(&gfxPriv->secinfo, qemuDomainSecretInfoFree);
 }
 
 
@@ -2311,7 +2307,7 @@ qemuDomainObjPrivateFree(void *data)
     }
     VIR_FREE(priv->cleanupCallbacks);
 
-    qemuDomainSecretInfoFree(&priv->migSecinfo);
+    g_clear_pointer(&priv->migSecinfo, qemuDomainSecretInfoFree);
     qemuDomainMasterKeyFree(priv);
 
     virHashFree(priv->blockjobs);
index 099ee597728300b7a82adf5d9452a584bf0a07ba..835321f54d231b57fd9833e04f9058cc22a4414b 100644 (file)
@@ -1039,7 +1039,7 @@ void qemuDomainMasterKeyRemove(qemuDomainObjPrivatePtr priv);
 
 bool qemuDomainSupportsEncryptedSecret(qemuDomainObjPrivatePtr priv);
 
-void qemuDomainSecretInfoFree(qemuDomainSecretInfoPtr *secinfo)
+void qemuDomainSecretInfoFree(qemuDomainSecretInfoPtr secinfo)
     ATTRIBUTE_NONNULL(1);
 
 void qemuDomainSecretInfoDestroy(qemuDomainSecretInfoPtr secinfo);
index a92bb2fa2b1dede0fadeda67e4ebc8c494af2bf6..a36c6a4aea3bc70bc93e605e966533f366704ddc 100644 (file)
@@ -1086,7 +1086,7 @@ qemuMigrationParamsResetTLS(virQEMUDriverPtr driver,
     secAlias = qemuDomainGetSecretAESAlias(QEMU_MIGRATION_TLS_ALIAS_BASE, false);
 
     qemuDomainDelTLSObjects(driver, vm, asyncJob, secAlias, tlsAlias);
-    qemuDomainSecretInfoFree(&QEMU_DOMAIN_PRIVATE(vm)->migSecinfo);
+    g_clear_pointer(&QEMU_DOMAIN_PRIVATE(vm)->migSecinfo, qemuDomainSecretInfoFree);
 
     VIR_FREE(tlsAlias);
     VIR_FREE(secAlias);