[libvirt] [PATCH v2 19/37] Adapt to VIR_STRDUP in src/remote/*

Michal Privoznik mprivozn at redhat.com
Mon Apr 29 13:50:41 UTC 2013


---
 src/remote/remote_driver.c | 79 ++++++++++++++++++++--------------------------
 1 file changed, 34 insertions(+), 45 deletions(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 97be2a0..89e0e96 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -368,7 +368,7 @@ remoteClientCloseFunc(virNetClientPtr client ATTRIBUTE_UNUSED,
 #define EXTRACT_URI_ARG_STR(ARG_NAME, ARG_VAR)          \
     if (STRCASEEQ(var->name, ARG_NAME)) {               \
         VIR_FREE(ARG_VAR);                              \
-        if (!(ARG_VAR = strdup(var->value)))            \
+        if (VIR_STRDUP(ARG_VAR, var->value) < 0)        \
             goto no_memory;                             \
         var->ignore = 1;                                \
         continue;                                       \
@@ -497,23 +497,20 @@ doRemoteOpen(virConnectPtr conn,
         if (virAsprintf(&port, "%d", conn->uri->port) < 0)
             goto no_memory;
     } else if (transport == trans_tls) {
-        if (!(port = strdup(LIBVIRTD_TLS_PORT)))
+        if (VIR_STRDUP(port, LIBVIRTD_TLS_PORT) < 0)
             goto no_memory;
     } else if (transport == trans_tcp) {
-        if (!(port = strdup(LIBVIRTD_TCP_PORT)))
+        if (VIR_STRDUP(port, LIBVIRTD_TCP_PORT) < 0)
             goto no_memory;
     } /* Port not used for unix, ext., default for ssh */
 
-    if (conn->uri && conn->uri->server)
-        priv->hostname = strdup(conn->uri->server);
-    else
-        priv->hostname = strdup("localhost");
-
-    if (!priv->hostname)
+    if (VIR_STRDUP(priv->hostname,
+                   conn->uri && conn->uri->server ?
+                   conn->uri->server : "localhost") < 0)
         goto no_memory;
 
     if (conn->uri && conn->uri->user &&
-        !(username = strdup(conn->uri->user)))
+        VIR_STRDUP(username, conn->uri->user) < 0)
         goto no_memory;
 
     /* Get the variables from the query string.
@@ -557,7 +554,7 @@ doRemoteOpen(virConnectPtr conn,
                 (STREQ(conn->uri->scheme, "remote") ||
                  STRPREFIX(conn->uri->scheme, "remote+"))) {
                 /* Allow remote serve to probe */
-                if (!(name = strdup("")))
+                if (VIR_STRDUP(name, "") < 0)
                     goto no_memory;
             } else {
                 virURI tmpuri = {
@@ -587,7 +584,7 @@ doRemoteOpen(virConnectPtr conn,
         }
     } else {
         /* Probe URI server side */
-        if (!(name = strdup("")))
+        if (VIR_STRDUP(name, "") < 0)
             goto no_memory;
     }
 
@@ -636,12 +633,10 @@ doRemoteOpen(virConnectPtr conn,
 
     case trans_libssh2:
         if (!sockname) {
-            if (flags & VIR_DRV_OPEN_REMOTE_RO)
-                sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET_RO);
-            else
-                sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET);
-
-            if (sockname == NULL)
+            if (VIR_STRDUP(sockname,
+                           flags & VIR_DRV_OPEN_REMOTE_RO ?
+                           LIBVIRTD_PRIV_UNIX_SOCKET_RO :
+                           LIBVIRTD_PRIV_UNIX_SOCKET) < 0)
                 goto no_memory;
         }
 
@@ -678,11 +673,10 @@ doRemoteOpen(virConnectPtr conn,
                 }
                 VIR_FREE(userdir);
             } else {
-                if (flags & VIR_DRV_OPEN_REMOTE_RO)
-                    sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET_RO);
-                else
-                    sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET);
-                if (sockname == NULL)
+                if (VIR_STRDUP(sockname,
+                               flags & VIR_DRV_OPEN_REMOTE_RO ?
+                               LIBVIRTD_PRIV_UNIX_SOCKET_RO :
+                               LIBVIRTD_PRIV_UNIX_SOCKET) < 0)
                     goto no_memory;
             }
             VIR_DEBUG("Proceeding with sockname %s", sockname);
@@ -705,15 +699,14 @@ doRemoteOpen(virConnectPtr conn,
         break;
 
     case trans_ssh:
-        if (!command && !(command = strdup("ssh")))
+        if (!command && VIR_STRDUP(command, "ssh") < 0)
             goto no_memory;
 
         if (!sockname) {
-            if (flags & VIR_DRV_OPEN_REMOTE_RO)
-                sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET_RO);
-            else
-                sockname = strdup(LIBVIRTD_PRIV_UNIX_SOCKET);
-            if (!sockname)
+            if (VIR_STRDUP(sockname,
+                           flags & VIR_DRV_OPEN_REMOTE_RO ?
+                           LIBVIRTD_PRIV_UNIX_SOCKET_RO :
+                           LIBVIRTD_PRIV_UNIX_SOCKET) < 0)
                 goto no_memory;
         }
 
@@ -1493,8 +1486,7 @@ remoteSerializeTypedParameters(virTypedParameterPtr params,
 
     for (i = 0; i < nparams; ++i) {
         /* call() will free this: */
-        val[i].field = strdup(params[i].field);
-        if (val[i].field == NULL) {
+        if (VIR_STRDUP(val[i].field, params[i].field) < 0) {
             virReportOOMError();
             goto cleanup;
         }
@@ -1519,8 +1511,7 @@ remoteSerializeTypedParameters(virTypedParameterPtr params,
             val[i].value.remote_typed_param_value_u.b = params[i].value.b;
             break;
         case VIR_TYPED_PARAM_STRING:
-            val[i].value.remote_typed_param_value_u.s = strdup(params[i].value.s);
-            if (val[i].value.remote_typed_param_value_u.s == NULL) {
+            if (VIR_STRDUP(val[i].value.remote_typed_param_value_u.s, params[i].value.s) < 0) {
                 virReportOOMError();
                 goto cleanup;
             }
@@ -1608,9 +1599,8 @@ remoteDeserializeTypedParameters(remote_typed_param *ret_params_val,
                 ret_param->value.remote_typed_param_value_u.b;
             break;
         case VIR_TYPED_PARAM_STRING:
-            param->value.s =
-                strdup(ret_param->value.remote_typed_param_value_u.s);
-            if (!param->value.s) {
+            if (VIR_STRDUP(param->value.s,
+                           ret_param->value.remote_typed_param_value_u.s) < 0) {
                 virReportOOMError();
                 goto cleanup;
             }
@@ -1653,7 +1643,7 @@ remoteDeserializeDomainDiskErrors(remote_domain_disk_error *ret_errors_val,
     }
 
     for (i = 0; i < ret_errors_len; i++) {
-        if (!(errors[i].disk = strdup(ret_errors_val[i].disk))) {
+        if (VIR_STRDUP(errors[i].disk, ret_errors_val[i].disk) < 0) {
             virReportOOMError();
             goto error;
         }
@@ -4472,15 +4462,15 @@ remoteDomainBuildEventGraphics(virNetClientProgramPtr prog ATTRIBUTE_UNUSED,
     if (VIR_ALLOC(localAddr) < 0)
         goto no_memory;
     localAddr->family = msg->local.family;
-    if (!(localAddr->service = strdup(msg->local.service)) ||
-        !(localAddr->node = strdup(msg->local.node)))
+    if (VIR_STRDUP(localAddr->service, msg->local.service) < 0 ||
+        VIR_STRDUP(localAddr->node, msg->local.node) < 0)
         goto no_memory;
 
     if (VIR_ALLOC(remoteAddr) < 0)
         goto no_memory;
     remoteAddr->family = msg->remote.family;
-    if (!(remoteAddr->service = strdup(msg->remote.service)) ||
-        !(remoteAddr->node = strdup(msg->remote.node)))
+    if (VIR_STRDUP(remoteAddr->service, msg->remote.service) < 0 ||
+        VIR_STRDUP(remoteAddr->node, msg->remote.node) < 0)
         goto no_memory;
 
     if (VIR_ALLOC(subject) < 0)
@@ -4489,8 +4479,8 @@ remoteDomainBuildEventGraphics(virNetClientProgramPtr prog ATTRIBUTE_UNUSED,
         goto no_memory;
     subject->nidentity = msg->subject.subject_len;
     for (i = 0 ; i < subject->nidentity ; i++) {
-        if (!(subject->identities[i].type = strdup(msg->subject.subject_val[i].type)) ||
-            !(subject->identities[i].name = strdup(msg->subject.subject_val[i].name)))
+        if (VIR_STRDUP(subject->identities[i].type, msg->subject.subject_val[i].type) < 0 ||
+            VIR_STRDUP(subject->identities[i].name, msg->subject.subject_val[i].name) < 0)
             goto no_memory;
     }
 
@@ -5100,8 +5090,7 @@ remoteDomainQemuMonitorCommand(virDomainPtr domain, const char *cmd,
              (xdrproc_t) xdr_qemu_domain_monitor_command_ret, (char *) &ret) == -1)
         goto done;
 
-    *result = strdup(ret.result);
-    if (*result == NULL) {
+    if (VIR_STRDUP(*result, ret.result) < 0) {
         virReportOOMError();
         goto cleanup;
     }
-- 
1.8.1.5




More information about the libvir-list mailing list