]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
maint: add more free-like functions to the list and deal with fallout
authorJim Meyering <meyering@redhat.com>
Mon, 17 May 2010 20:38:59 +0000 (22:38 +0200)
committerJim Meyering <meyering@redhat.com>
Tue, 18 May 2010 05:53:42 +0000 (07:53 +0200)
* cfg.mk (useless_free_options): Add many vir*Free* function names,
and then remove the useless if-before-free tests exposed by running
make syntax-check.
* src/conf/interface_conf.c (virInterfaceDefFree): Remove useless "if".
(virInterfaceAssignDef): Likewise.
* src/conf/network_conf.c (virNetworkAssignDef): Likewise.
* src/conf/storage_conf.c (virStoragePoolObjAssignDef): Likewise.
* src/node_device/node_device_hal.c (dev_create): Likewise.
* src/security/virt-aa-helper.c (vahDeinit): Likewise.
* src/test/test_driver.c (testNodeDeviceCreateXML): Likewise.
* src/util/conf.c (virConfSetValue): Likewise.

cfg.mk
src/conf/interface_conf.c
src/conf/network_conf.c
src/conf/storage_conf.c
src/node_device/node_device_hal.c
src/security/virt-aa-helper.c
src/test/test_driver.c
src/util/conf.c

diff --git a/cfg.mk b/cfg.mk
index 0b281a546661e8868121291bff11f3f41c4ec46d..96d6953db863d8831411a3b9408438e090610e0d 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -64,15 +64,164 @@ local-checks-to-skip =                     \
   sc_makefile_check                    \
   sc_useless_cpp_parens
 
-useless_free_options =         \
-  --name=sexpr_free            \
-  --name=virCgroupFree         \
-  --name=VIR_FREE              \
-  --name=xmlFree               \
-  --name=xmlXPathFreeContext   \
-  --name=virDomainDefFree      \
+useless_free_options =                         \
+  --name=VIR_FREE                              \
+  --name=sexpr_free                            \
+  --name=virCPUDefFree                         \
+  --name=virCapabilitiesFree                   \
+  --name=virCapabilitiesFreeGuest              \
+  --name=virCapabilitiesFreeGuestDomain                \
+  --name=virCapabilitiesFreeGuestFeature       \
+  --name=virCapabilitiesFreeGuestMachine       \
+  --name=virCapabilitiesFreeHostNUMACell       \
+  --name=virCapabilitiesFreeMachines           \
+  --name=virCgroupFree                         \
+  --name=virConfFreeList                       \
+  --name=virConfFreeValue                      \
+  --name=virDomainChrDefFree                   \
+  --name=virDomainControllerDefFree            \
+  --name=virDomainDefFree                      \
+  --name=virDomainDeviceDefFree                        \
+  --name=virDomainDiskDefFree                  \
+  --name=virDomainEventCallbackListFree                \
+  --name=virDomainEventFree                    \
+  --name=virDomainEventQueueFree               \
+  --name=virDomainFSDefFree                    \
+  --name=virDomainGraphicsDefFree              \
+  --name=virDomainHostdevDefFree               \
+  --name=virDomainInputDefFree                 \
+  --name=virDomainNetDefFree                   \
+  --name=virDomainObjFree                      \
+  --name=virDomainSnapshotDefFree              \
+  --name=virDomainSnapshotObjFree              \
+  --name=virDomainSoundDefFree                 \
+  --name=virDomainVideoDefFree                 \
+  --name=virDomainWatchdogDefFree              \
+  --name=virInterfaceDefFree                   \
+  --name=virInterfaceIpDefFree                 \
+  --name=virInterfaceObjFree                   \
+  --name=virInterfaceProtocolDefFree           \
+  --name=virJSONValueFree                      \
+  --name=virLastErrFreeData                    \
+  --name=virNWFilterDefFree                    \
+  --name=virNWFilterEntryFree                  \
+  --name=virNWFilterHashTableFree              \
+  --name=virNWFilterIPAddrLearnReqFree         \
+  --name=virNWFilterIncludeDefFree             \
+  --name=virNWFilterPoolObjFree                        \
+  --name=virNWFilterRuleDefFree                        \
+  --name=virNWFilterRuleInstFree               \
+  --name=virNetworkDefFree                     \
+  --name=virNetworkObjFree                     \
+  --name=virNodeDeviceDefFree                  \
+  --name=virNodeDeviceObjFree                  \
+  --name=virSecretDefFree                      \
+  --name=virStorageEncryptionFree              \
+  --name=virStorageEncryptionSecretFree                \
+  --name=virStoragePoolDefFree                 \
+  --name=virStoragePoolObjFree                 \
+  --name=virStoragePoolSourceFree              \
+  --name=virStorageVolDefFree                  \
+  --name=xmlFree                               \
+  --name=xmlXPathFreeContext                   \
   --name=xmlXPathFreeObject
 
+# The following template was generated by this command:
+# make ID && aid free|grep '^vi'|sed 's/ .*//;s/^/#   /'
+# N virBufferFreeAndReset
+# y virCPUDefFree
+# y virCapabilitiesFree
+# y virCapabilitiesFreeGuest
+# y virCapabilitiesFreeGuestDomain
+# y virCapabilitiesFreeGuestFeature
+# y virCapabilitiesFreeGuestMachine
+# y virCapabilitiesFreeHostNUMACell
+# y virCapabilitiesFreeMachines
+# N virCapabilitiesFreeNUMAInfo FIXME
+# y virCgroupFree
+# N virConfFree               (diagnoses the "error")
+# y virConfFreeList
+# y virConfFreeValue
+# y virDomainChrDefFree
+# y virDomainControllerDefFree
+# y virDomainDefFree
+# y virDomainDeviceDefFree
+# y virDomainDiskDefFree
+# y virDomainEventCallbackListFree
+# y virDomainEventFree
+# y virDomainEventQueueFree
+# y virDomainFSDefFree
+# n virDomainFree
+# n virDomainFreeName (can't fix -- returns int)
+# y virDomainGraphicsDefFree
+# y virDomainHostdevDefFree
+# y virDomainInputDefFree
+# y virDomainNetDefFree
+# y virDomainObjFree
+# y virDomainSnapshotDefFree
+# n virDomainSnapshotFree (returns int)
+# n virDomainSnapshotFreeName (returns int)
+# y virDomainSnapshotObjFree
+# y virDomainSoundDefFree
+# y virDomainVideoDefFree
+# y virDomainWatchdogDefFree
+# n virDrvNodeGetCellsFreeMemory (returns int)
+# n virDrvNodeGetFreeMemory (returns long long)
+# n virFree (dereferences param)
+# n virFreeError
+# n virHashFree (takes 2 args)
+# y virInterfaceDefFree
+# n virInterfaceFree (returns int)
+# n virInterfaceFreeName
+# y virInterfaceIpDefFree
+# y virInterfaceObjFree
+# n virInterfaceObjListFree
+# y virInterfaceProtocolDefFree
+# y virJSONValueFree
+# y virLastErrFreeData
+# y virNWFilterDefFree
+# y virNWFilterEntryFree
+# n virNWFilterFree (returns int)
+# y virNWFilterHashTableFree
+# y virNWFilterIPAddrLearnReqFree
+# y virNWFilterIncludeDefFree
+# n virNWFilterPoolFreeName (returns int)
+# y virNWFilterPoolObjFree
+# n virNWFilterPoolObjListFree FIXME
+# y virNWFilterRuleDefFree
+# n virNWFilterRuleFreeInstanceData (typedef)
+# y virNWFilterRuleInstFree
+# y virNetworkDefFree
+# n virNetworkFree (returns int)
+# n virNetworkFreeName (returns int)
+# y virNetworkObjFree
+# n virNetworkObjListFree FIXME
+# n virNodeDevCapsDefFree FIXME
+# y virNodeDeviceDefFree
+# n virNodeDeviceFree (returns int)
+# y virNodeDeviceObjFree
+# n virNodeDeviceObjListFree FIXME
+# n virNodeGetCellsFreeMemory (returns int)
+# n virNodeGetFreeMemory (returns non-void)
+# y virSecretDefFree
+# n virSecretFree (returns non-void)
+# n virSecretFreeName (2 args)
+# n virSecurityLabelDefFree FIXME
+# n virStorageBackendDiskMakeFreeExtent (returns non-void)
+# y virStorageEncryptionFree
+# y virStorageEncryptionSecretFree
+# n virStorageFreeType (enum)
+# y virStoragePoolDefFree
+# n virStoragePoolFree (returns non-void)
+# n virStoragePoolFreeName (returns non-void)
+# y virStoragePoolObjFree
+# n virStoragePoolObjListFree FIXME
+# y virStoragePoolSourceFree
+# y virStorageVolDefFree
+# n virStorageVolFree (returns non-void)
+# n virStorageVolFreeName (returns non-void)
+# n virStreamFree
+
 # Avoid uses of write(2).  Either switch to streams (fwrite), or use
 # the safewrite wrapper.
 sc_avoid_write:
index 920b090e7173c7587e6c7f2814fd4a0b096b8c92..6430f7a21b34f2435a65cc11101fc1c372b88b68 100644 (file)
@@ -85,20 +85,18 @@ void virInterfaceDefFree(virInterfaceDefPtr def)
     switch (def->type) {
         case VIR_INTERFACE_TYPE_BRIDGE:
             for (i = 0;i < def->data.bridge.nbItf;i++) {
-                if (def->data.bridge.itf[i] != NULL)
-                    virInterfaceDefFree(def->data.bridge.itf[i]);
-                else
+                if (def->data.bridge.itf[i] == NULL)
                     break; /* to cope with half parsed data on errors */
+                virInterfaceDefFree(def->data.bridge.itf[i]);
             }
             VIR_FREE(def->data.bridge.itf);
             break;
         case VIR_INTERFACE_TYPE_BOND:
             VIR_FREE(def->data.bond.target);
             for (i = 0;i < def->data.bond.nbItf;i++) {
-                if (def->data.bond.itf[i] != NULL)
-                    virInterfaceDefFree(def->data.bond.itf[i]);
-                else
+                if (def->data.bond.itf[i] == NULL)
                     break; /* to cope with half parsed data on errors */
+                virInterfaceDefFree(def->data.bond.itf[i]);
             }
             VIR_FREE(def->data.bond.itf);
             break;
@@ -1227,8 +1225,7 @@ virInterfaceObjPtr virInterfaceAssignDef(virInterfaceObjListPtr interfaces,
     virInterfaceObjPtr iface;
 
     if ((iface = virInterfaceFindByName(interfaces, def->name))) {
-        if (iface->def)
-            virInterfaceDefFree(iface->def);
+        virInterfaceDefFree(iface->def);
         iface->def = def;
 
         return iface;
index 1f3a44c1293a7d2f238cb721cfa31d4641114052..06537d1f9d832c40d0a3147866aecb0e16651688 100644 (file)
@@ -157,8 +157,7 @@ virNetworkObjPtr virNetworkAssignDef(virNetworkObjListPtr nets,
             virNetworkDefFree(network->def);
             network->def = def;
         } else {
-            if (network->newDef)
-                virNetworkDefFree(network->newDef);
+            virNetworkDefFree(network->newDef);
             network->newDef = def;
         }
 
index c1595aa25b577c82b88ab63d3df369be3bdcd7e6..9aad0815fc7f9d3a8d0e306b1b8defb89501492d 100644 (file)
@@ -1332,8 +1332,7 @@ virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
             virStoragePoolDefFree(pool->def);
             pool->def = def;
         } else {
-            if (pool->newDef)
-                virStoragePoolDefFree(pool->newDef);
+            virStoragePoolDefFree(pool->newDef);
             pool->newDef = def;
         }
         return pool;
index 017479451371f8623a62de49589d6e867dbecb78..8113c55619d04da2a5488304cfd40a0b66edb4df 100644 (file)
@@ -486,8 +486,7 @@ static void dev_create(const char *udi)
     DEBUG("FAILED TO ADD dev %s", name);
 cleanup:
     VIR_FREE(privData);
-    if (def)
-        virNodeDeviceDefFree(def);
+    virNodeDeviceDefFree(def);
     nodeDeviceUnlock(driverState);
 }
 
index ae923e8981bce80c1186f4eb5370cadc19ae59bb..88cdc9da845e4d2d0e97cde35d2da30d3224fee6 100644 (file)
@@ -63,8 +63,7 @@ vahDeinit(vahControl * ctl)
         return -1;
 
     VIR_FREE(ctl->def);
-    if (ctl->caps)
-        virCapabilitiesFree(ctl->caps);
+    virCapabilitiesFree(ctl->caps);
     VIR_FREE(ctl->files);
     VIR_FREE(ctl->hvm);
     VIR_FREE(ctl->arch);
index 6706cba31721ea829f1dfa43da2b9616d0803829..395c8c9b07a31525292e89f33b08b8758bc614b1 100644 (file)
@@ -4983,8 +4983,7 @@ testNodeDeviceCreateXML(virConnectPtr conn,
     def = NULL;
 cleanup:
     testDriverUnlock(driver);
-    if (def)
-        virNodeDeviceDefFree(def);
+    virNodeDeviceDefFree(def);
     VIR_FREE(wwnn);
     VIR_FREE(wwpn);
     return dev;
index 38eb163cdac2c5fab3dc6665a430c08a7752b637..8682f7b12368e148054babe8e03b00d7675399ea 100644 (file)
@@ -902,9 +902,7 @@ virConfSetValue (virConfPtr conf,
             conf->entries = cur;
         }
     } else {
-        if (cur->value) {
-            virConfFreeValue(cur->value);
-        }
+        virConfFreeValue(cur->value);
         cur->value = value;
     }
     return (0);