[libvirt] [PATCH 2/4] conf: Use correct type for device type enum in virDomainDeviceDefFree

Peter Krempa pkrempa at redhat.com
Fri Jan 11 17:00:42 UTC 2013


With this change it's easy to spot a forgotten free if a new device
class is added.
---
 src/conf/domain_conf.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6feded4..f4875f5 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1525,7 +1525,7 @@ void virDomainDeviceDefFree(virDomainDeviceDefPtr def)
     if (!def)
         return;

-    switch (def->type) {
+    switch ((virDomainDeviceType) def->type) {
     case VIR_DOMAIN_DEVICE_DISK:
         virDomainDiskDefFree(def->data.disk);
         break;
@@ -1562,6 +1562,13 @@ void virDomainDeviceDefFree(virDomainDeviceDefPtr def)
     case VIR_DOMAIN_DEVICE_REDIRDEV:
         virDomainRedirdevDefFree(def->data.redirdev);
         break;
+    case VIR_DOMAIN_DEVICE_NONE:
+    case VIR_DOMAIN_DEVICE_FS:
+    case VIR_DOMAIN_DEVICE_SMARTCARD:
+    case VIR_DOMAIN_DEVICE_CHR:
+    case VIR_DOMAIN_DEVICE_MEMBALLOON:
+    case VIR_DOMAIN_DEVICE_LAST:
+        break;
     }

     VIR_FREE(def);
-- 
1.8.1




More information about the libvir-list mailing list