]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
esx: use g_autofree when made possible by reducing scope
authorLaine Stump <laine@redhat.com>
Fri, 12 Feb 2021 17:50:47 +0000 (12:50 -0500)
committerLaine Stump <laine@redhat.com>
Tue, 16 Feb 2021 18:50:04 +0000 (13:50 -0500)
These strings were being VIR_FREEd multiple times because they were
defined at the top of a function, but then set each time through a
loop. But they are only used inside that loop, so they can be
converted to use g_autofree if their definition is also placed inside
that loop.

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/esx/esx_driver.c
src/esx/esx_storage_backend_iscsi.c
src/esx/esx_storage_backend_vmfs.c
src/esx/esx_vi.c

index df257341b8c33661e593d24fd28d7eac806bf5ae..8afec464dde07712927f0ede3da56d620de1a174 100644 (file)
@@ -1391,7 +1391,6 @@ esxDomainLookupByID(virConnectPtr conn, int id)
     esxVI_ObjectContent *virtualMachine = NULL;
     esxVI_VirtualMachinePowerState powerState;
     int id_candidate = -1;
-    char *name_candidate = NULL;
     unsigned char uuid_candidate[VIR_UUID_BUFLEN];
     virDomainPtr domain = NULL;
 
@@ -1410,6 +1409,8 @@ esxDomainLookupByID(virConnectPtr conn, int id)
 
     for (virtualMachine = virtualMachineList; virtualMachine;
          virtualMachine = virtualMachine->_next) {
+        g_autofree char *name_candidate = NULL;
+
         if (esxVI_GetVirtualMachinePowerState(virtualMachine,
                                               &powerState) < 0) {
             goto cleanup;
@@ -1419,8 +1420,6 @@ esxDomainLookupByID(virConnectPtr conn, int id)
         if (powerState == esxVI_VirtualMachinePowerState_PoweredOff)
             continue;
 
-        VIR_FREE(name_candidate);
-
         if (esxVI_GetVirtualMachineIdentity(virtualMachine,
                                             &id_candidate, &name_candidate,
                                             uuid_candidate) < 0) {
@@ -1444,8 +1443,6 @@ esxDomainLookupByID(virConnectPtr conn, int id)
  cleanup:
     esxVI_String_Free(&propertyNameList);
     esxVI_ObjectContent_Free(&virtualMachineList);
-    VIR_FREE(name_candidate);
-
     return domain;
 }
 
@@ -4754,7 +4751,6 @@ esxConnectListAllDomains(virConnectPtr conn,
     esxVI_AutoStartPowerInfo *powerInfoList = NULL;
     esxVI_AutoStartPowerInfo *powerInfo = NULL;
     esxVI_VirtualMachineSnapshotTree *rootSnapshotTreeList = NULL;
-    char *name = NULL;
     int id;
     unsigned char uuid[VIR_UUID_BUFLEN];
     int count = 0;
@@ -4839,9 +4835,9 @@ esxConnectListAllDomains(virConnectPtr conn,
 
     for (virtualMachine = virtualMachineList; virtualMachine;
          virtualMachine = virtualMachine->_next) {
-        if (needIdentity) {
-            VIR_FREE(name);
+        g_autofree char *name = NULL;
 
+        if (needIdentity) {
             if (esxVI_GetVirtualMachineIdentity(virtualMachine, &id,
                                                 &name, uuid) < 0) {
                 goto cleanup;
@@ -4959,7 +4955,6 @@ esxConnectListAllDomains(virConnectPtr conn,
         VIR_FREE(doms);
     }
 
-    VIR_FREE(name);
     esxVI_AutoStartDefaults_Free(&autoStartDefaults);
     esxVI_AutoStartPowerInfo_Free(&powerInfoList);
     esxVI_String_Free(&propertyNameList);
index 4d16ba2520308cb71002137b4e388017d7746912..41bb9f60943b9e606da341565f7dd2d2d76cdb94 100644 (file)
@@ -494,7 +494,6 @@ esxStorageVolLookupByPath(virConnectPtr conn, const char *path)
     esxVI_ScsiLun *scsiLunList = NULL;
     esxVI_ScsiLun *scsiLun;
     esxVI_HostScsiDisk *hostScsiDisk = NULL;
-    char *poolName = NULL;
     /* VIR_CRYPTO_HASH_SIZE_MD5 = VIR_UUID_BUFLEN = 16 */
     unsigned char md5[VIR_CRYPTO_HASH_SIZE_MD5];
     char uuid_string[VIR_UUID_STRING_BUFLEN] = "";
@@ -503,11 +502,12 @@ esxStorageVolLookupByPath(virConnectPtr conn, const char *path)
         goto cleanup;
 
     for (scsiLun = scsiLunList; scsiLun; scsiLun = scsiLun->_next) {
+        g_autofree char *poolName = NULL;
+
         hostScsiDisk = esxVI_HostScsiDisk_DynamicCast(scsiLun);
 
         if (hostScsiDisk && STREQ(hostScsiDisk->devicePath, path)) {
             /* Found matching device */
-            VIR_FREE(poolName);
 
             if (esxVI_LookupStoragePoolNameByScsiLunKey(priv->primary,
                                                         hostScsiDisk->key,
@@ -527,8 +527,6 @@ esxStorageVolLookupByPath(virConnectPtr conn, const char *path)
 
  cleanup:
     esxVI_ScsiLun_Free(&scsiLunList);
-    VIR_FREE(poolName);
-
     return volume;
 }
 
@@ -539,7 +537,6 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
 {
     virStorageVolPtr volume = NULL;
     esxPrivate *priv = conn->privateData;
-    char *poolName = NULL;
     esxVI_ScsiLun *scsiLunList = NULL;
     esxVI_ScsiLun *scsiLun;
     /* VIR_CRYPTO_HASH_SIZE_MD5 = VIR_UUID_BUFLEN = 16 */
@@ -555,6 +552,8 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
 
     for (scsiLun = scsiLunList; scsiLun;
          scsiLun = scsiLun->_next) {
+        g_autofree char *poolName = NULL;
+
         memset(uuid_string, '\0', sizeof(uuid_string));
         memset(md5, '\0', sizeof(md5));
 
@@ -564,7 +563,6 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
 
         if (STREQ(key, uuid_string)) {
             /* Found matching UUID */
-            VIR_FREE(poolName);
 
             if (esxVI_LookupStoragePoolNameByScsiLunKey(priv->primary,
                                                         scsiLun->key,
@@ -581,8 +579,6 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
 
  cleanup:
     esxVI_ScsiLun_Free(&scsiLunList);
-    VIR_FREE(poolName);
-
     return volume;
 }
 
index 9466ec81cbcc9ddaf91fc39f114669008c9767b6..63959ec237f6a13aad06bb3ffb431850b1f02d10 100644 (file)
@@ -598,7 +598,6 @@ esxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names,
     esxVI_HostDatastoreBrowserSearchResults *searchResultsList = NULL;
     esxVI_HostDatastoreBrowserSearchResults *searchResults = NULL;
     esxVI_FileInfo *fileInfo = NULL;
-    char *directoryAndFileName = NULL;
     size_t length;
     int count = 0;
     size_t i;
@@ -619,7 +618,7 @@ esxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names,
     /* Interpret search result */
     for (searchResults = searchResultsList; searchResults;
          searchResults = searchResults->_next) {
-        VIR_FREE(directoryAndFileName);
+        g_autofree char *directoryAndFileName = NULL;
 
         if (esxUtil_ParseDatastorePath(searchResults->folderPath, NULL, NULL,
                                        &directoryAndFileName) < 0) {
@@ -659,8 +658,6 @@ esxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names,
     }
 
     esxVI_HostDatastoreBrowserSearchResults_Free(&searchResultsList);
-    VIR_FREE(directoryAndFileName);
-
     return count;
 }
 
@@ -730,12 +727,9 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
     char *datastoreName = NULL;
     esxVI_HostDatastoreBrowserSearchResults *searchResultsList = NULL;
     esxVI_HostDatastoreBrowserSearchResults *searchResults = NULL;
-    char *directoryAndFileName = NULL;
     size_t length;
-    char *datastorePath = NULL;
     char *volumeName = NULL;
     esxVI_FileInfo *fileInfo = NULL;
-    char *uuid_string = NULL;
     char key_candidate[VIR_UUID_STRING_BUFLEN] = "";
 
     if (STRPREFIX(key, "[")) {
@@ -777,7 +771,7 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
         /* Interpret search result */
         for (searchResults = searchResultsList; searchResults;
              searchResults = searchResults->_next) {
-            VIR_FREE(directoryAndFileName);
+            g_autofree char *directoryAndFileName = NULL;
 
             if (esxUtil_ParseDatastorePath(searchResults->folderPath, NULL,
                                            NULL, &directoryAndFileName) < 0) {
@@ -795,7 +789,8 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
             /* Build datastore path and query the UUID */
             for (fileInfo = searchResults->file; fileInfo;
                  fileInfo = fileInfo->_next) {
-                VIR_FREE(datastorePath);
+                g_autofree char *datastorePath = NULL;
+                g_autofree char *uuid_string = NULL;
 
                 if (length < 1) {
                     volumeName = g_strdup(fileInfo->path);
@@ -811,8 +806,6 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
                     continue;
                 }
 
-                VIR_FREE(uuid_string);
-
                 if (esxVI_QueryVirtualDiskUuid
                       (priv->primary, datastorePath,
                        priv->primary->datacenter->_reference,
@@ -838,10 +831,7 @@ esxStorageVolLookupByKey(virConnectPtr conn, const char *key)
     esxVI_String_Free(&propertyNameList);
     esxVI_ObjectContent_Free(&datastoreList);
     esxVI_HostDatastoreBrowserSearchResults_Free(&searchResultsList);
-    VIR_FREE(directoryAndFileName);
-    VIR_FREE(datastorePath);
     VIR_FREE(volumeName);
-    VIR_FREE(uuid_string);
 
     return volume;
 }
index 7ff43adaaf856ecbb1f8e7e373208215ab02a965..987259be4b38cfa84c6af91f20422db481f2d51a 100644 (file)
@@ -2761,7 +2761,6 @@ esxVI_LookupVirtualMachineByName(esxVI_Context *ctx, const char *name,
     esxVI_String *completePropertyNameList = NULL;
     esxVI_ObjectContent *virtualMachineList = NULL;
     esxVI_ObjectContent *candidate = NULL;
-    char *name_candidate = NULL;
 
     ESX_VI_CHECK_ARG_LIST(virtualMachine);
 
@@ -2775,7 +2774,7 @@ esxVI_LookupVirtualMachineByName(esxVI_Context *ctx, const char *name,
 
     for (candidate = virtualMachineList; candidate;
          candidate = candidate->_next) {
-        VIR_FREE(name_candidate);
+        g_autofree char *name_candidate = NULL;
 
         if (esxVI_GetVirtualMachineIdentity(candidate, NULL, &name_candidate,
                                             NULL) < 0) {
@@ -2802,8 +2801,6 @@ esxVI_LookupVirtualMachineByName(esxVI_Context *ctx, const char *name,
  cleanup:
     esxVI_String_Free(&completePropertyNameList);
     esxVI_ObjectContent_Free(&virtualMachineList);
-    VIR_FREE(name_candidate);
-
     return result;
 }