[libvirt] [PATCH v3 06/34] Adapt to VIR_STRDUP and VIR_STRNDUP in src/hyperv/*

Michal Privoznik mprivozn at redhat.com
Fri May 3 14:53:11 UTC 2013


---
 src/hyperv/hyperv_driver.c | 50 ++++++++++------------------------------------
 src/hyperv/hyperv_util.c   | 18 +++++------------
 2 files changed, 15 insertions(+), 53 deletions(-)

diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
index 7031fdb..2c18cb8 100644
--- a/src/hyperv/hyperv_driver.c
+++ b/src/hyperv/hyperv_driver.c
@@ -140,12 +140,8 @@ hypervConnectOpen(virConnectPtr conn, virConnectAuthPtr auth, unsigned int flags
 
     /* Request credentials */
     if (conn->uri->user != NULL) {
-        username = strdup(conn->uri->user);
-
-        if (username == NULL) {
-            virReportOOMError();
+        if (VIR_STRDUP(username, conn->uri->user) < 0)
             goto cleanup;
-        }
     } else {
         username = virAuthGetUsername(conn, auth, "hyperv", "administrator", conn->uri->server);
 
@@ -257,12 +253,7 @@ hypervConnectGetHostname(virConnectPtr conn)
         goto cleanup;
     }
 
-    hostname = strdup(computerSystem->data->DNSHostName);
-
-    if (hostname == NULL) {
-        virReportOOMError();
-        goto cleanup;
-    }
+    ignore_value(VIR_STRDUP(hostname, computerSystem->data->DNSHostName));
 
   cleanup:
     hypervFreeObject(priv, (hypervObject *)computerSystem);
@@ -652,13 +643,9 @@ hypervDomainDestroy(virDomainPtr domain)
 static char *
 hypervDomainGetOSType(virDomainPtr domain ATTRIBUTE_UNUSED)
 {
-    char *osType = strdup("hvm");
-
-    if (osType == NULL) {
-        virReportOOMError();
-        return NULL;
-    }
+    char *osType;
 
+    ignore_value(VIR_STRDUP(osType, "hvm"));
     return osType;
 }
 
@@ -908,21 +895,12 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
         return NULL;
     }
 
-    def->name = strdup(computerSystem->data->ElementName);
-
-    if (def->name == NULL) {
-        virReportOOMError();
+    if (VIR_STRDUP(def->name, computerSystem->data->ElementName) < 0)
         goto cleanup;
-    }
-
-    if (virtualSystemSettingData->data->Notes != NULL) {
-        def->description = strdup(virtualSystemSettingData->data->Notes);
 
-        if (def->description == NULL) {
-            virReportOOMError();
-            goto cleanup;
-        }
-    }
+    if (virtualSystemSettingData->data->Notes &&
+        VIR_STRDUP(def->description, virtualSystemSettingData->data->Notes) < 0)
+        goto cleanup;
 
     def->mem.max_balloon = memorySettingData->data->Limit * 1024; /* megabyte to kilobyte */
     def->mem.cur_balloon = memorySettingData->data->VirtualQuantity * 1024; /* megabyte to kilobyte */
@@ -930,12 +908,8 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     def->vcpus = processorSettingData->data->VirtualQuantity;
     def->maxvcpus = processorSettingData->data->VirtualQuantity;
 
-    def->os.type = strdup("hvm");
-
-    if (def->os.type == NULL) {
-        virReportOOMError();
+    if (VIR_STRDUP(def->os.type, "hvm") < 0)
         goto cleanup;
-    }
 
     /* FIXME: devices section is totally missing */
 
@@ -981,12 +955,8 @@ hypervConnectListDefinedDomains(virConnectPtr conn, char **const names, int maxn
 
     for (computerSystem = computerSystemList; computerSystem != NULL;
          computerSystem = computerSystem->next) {
-        names[count] = strdup(computerSystem->data->ElementName);
-
-        if (names[count] == NULL) {
-            virReportOOMError();
+        if (VIR_STRDUP(names[count], computerSystem->data->ElementName) < 0)
             goto cleanup;
-        }
 
         ++count;
 
diff --git a/src/hyperv/hyperv_util.c b/src/hyperv/hyperv_util.c
index a55b939..b7c2a17 100644
--- a/src/hyperv/hyperv_util.c
+++ b/src/hyperv/hyperv_util.c
@@ -29,6 +29,7 @@
 #include "viruuid.h"
 #include "hyperv_private.h"
 #include "hyperv_util.h"
+#include "virstring.h"
 
 #define VIR_FROM_THIS VIR_FROM_HYPERV
 
@@ -56,12 +57,8 @@ hypervParseUri(hypervParsedUri **parsedUri, virURIPtr uri)
         if (STRCASEEQ(queryParam->name, "transport")) {
             VIR_FREE((*parsedUri)->transport);
 
-            (*parsedUri)->transport = strdup(queryParam->value);
-
-            if ((*parsedUri)->transport == NULL) {
-                virReportOOMError();
+            if (VIR_STRDUP((*parsedUri)->transport, queryParam->value) < 0)
                 goto cleanup;
-            }
 
             if (STRNEQ((*parsedUri)->transport, "http") &&
                 STRNEQ((*parsedUri)->transport, "https")) {
@@ -77,14 +74,9 @@ hypervParseUri(hypervParsedUri **parsedUri, virURIPtr uri)
         }
     }
 
-    if ((*parsedUri)->transport == NULL) {
-        (*parsedUri)->transport = strdup("https");
-
-        if ((*parsedUri)->transport == NULL) {
-            virReportOOMError();
-            goto cleanup;
-        }
-    }
+    if (!(*parsedUri)->transport &&
+        VIR_STRDUP((*parsedUri)->transport, "https") < 0)
+        goto cleanup;
 
     result = 0;
 
-- 
1.8.1.5




More information about the libvir-list mailing list