[libvirt] [PATCH 32/75] tools: Drop virAsprintf() and virAsprintfQuiet() retval checking

Michal Privoznik mprivozn at redhat.com
Tue Oct 22 13:57:36 UTC 2019


These functions can't fail really. Drop checking of their retval
then.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 tools/virsh-completer-domain.c |  7 +++----
 tools/virsh-completer-host.c   | 13 +++++-------
 tools/virsh-completer.c        |  6 +++---
 tools/virsh-domain-monitor.c   | 21 +++++++++----------
 tools/virsh-domain.c           | 34 ++++++++++---------------------
 tools/virsh-host.c             |  3 +--
 tools/virsh-interface.c        | 11 +++++-----
 tools/virsh-network.c          |  3 +--
 tools/virsh-pool.c             | 15 ++++++--------
 tools/virsh-volume.c           |  9 +++------
 tools/virt-admin.c             |  6 ++----
 tools/vsh.c                    | 37 +++++++++++-----------------------
 12 files changed, 62 insertions(+), 103 deletions(-)

diff --git a/tools/virsh-completer-domain.c b/tools/virsh-completer-domain.c
index 6bfa3ab58c..0bf6202c0a 100644
--- a/tools/virsh-completer-domain.c
+++ b/tools/virsh-completer-domain.c
@@ -221,10 +221,9 @@ virshDomainInterfaceStateCompleter(vshControl *ctl,
     if (virMacAddrParse(iface, &macaddr) == 0)
         virMacAddrFormat(&macaddr, macstr);
 
-    if (virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
-                            "                          (target/@dev = '%s')]",
-                           macstr, iface) < 0)
-        return NULL;
+    virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
+                "                          (target/@dev = '%s')]", macstr,
+                iface);
 
     if ((ninterfaces = virXPathNodeSet(xpath, ctxt, &interfaces)) < 0)
         return NULL;
diff --git a/tools/virsh-completer-host.c b/tools/virsh-completer-host.c
index 42e59a6656..8cb98ad88d 100644
--- a/tools/virsh-completer-host.c
+++ b/tools/virsh-completer-host.c
@@ -44,8 +44,7 @@ virshPagesizeNodeToString(xmlNodePtr node)
     if (virScaleInteger(&byteval, unit, 1024, UINT_MAX) < 0)
         return NULL;
     size = vshPrettyCapacity(byteval, &suffix);
-    if (virAsprintf(&ret, "%.0f%s", size, suffix) < 0)
-        return NULL;
+    virAsprintf(&ret, "%.0f%s", size, suffix);
     return ret;
 }
 
@@ -79,13 +78,11 @@ virshAllocpagesPagesizeCompleter(vshControl *ctl,
         return NULL;
 
     if (cellno && vshCommandOptStringQuiet(ctl, cmd, "cellno", &cellnum) > 0) {
-        if (virAsprintf(&path,
-                        "/capabilities/host/topology/cells/cell[@id=\"%s\"]/pages",
-                        cellnum) < 0)
-            return NULL;
+        virAsprintf(&path,
+                    "/capabilities/host/topology/cells/cell[@id=\"%s\"]/pages",
+                    cellnum);
     } else {
-        if (virAsprintf(&path, "/capabilities/host/cpu/pages") < 0)
-            return NULL;
+        virAsprintf(&path, "/capabilities/host/cpu/pages");
     }
 
     npages = virXPathNodeSet(path, ctxt, &pages);
diff --git a/tools/virsh-completer.c b/tools/virsh-completer.c
index 7e4bd895e5..8bd7be888f 100644
--- a/tools/virsh-completer.c
+++ b/tools/virsh-completer.c
@@ -118,9 +118,9 @@ virshCommaStringListComplete(const char *input,
         if (virStringListHasString((const char **)inputList, options[i]))
             continue;
 
-        if (inputCopy && virAsprintf(&ret[nret], "%s,%s", inputCopy, options[i]) < 0)
-            return NULL;
-        if (!inputCopy)
+        if (inputCopy)
+            virAsprintf(&ret[nret], "%s,%s", inputCopy, options[i]);
+        else
             ret[nret] = g_strdup(options[i]);
 
         nret++;
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index bfff08b0f6..9178e534d6 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -431,10 +431,9 @@ cmdDomblkinfoGet(const virDomainBlockInfo *info,
         *alloc = g_strdup("-");
         *phy = g_strdup("-");
     } else if (!human) {
-        if (virAsprintf(cap, "%llu", info->capacity) < 0 ||
-            virAsprintf(alloc, "%llu", info->allocation) < 0 ||
-            virAsprintf(phy, "%llu", info->physical) < 0)
-            return false;
+        virAsprintf(cap, "%llu", info->capacity);
+        virAsprintf(alloc, "%llu", info->allocation);
+        virAsprintf(phy, "%llu", info->physical);
     } else {
         double val_cap, val_alloc, val_phy;
         const char *unit_cap, *unit_alloc, *unit_phy;
@@ -443,10 +442,9 @@ cmdDomblkinfoGet(const virDomainBlockInfo *info,
         val_alloc = vshPrettyCapacity(info->allocation, &unit_alloc);
         val_phy = vshPrettyCapacity(info->physical, &unit_phy);
 
-        if (virAsprintf(cap, "%.3lf %s", val_cap, unit_cap) < 0 ||
-            virAsprintf(alloc, "%.3lf %s", val_alloc, unit_alloc) < 0 ||
-            virAsprintf(phy, "%.3lf %s", val_phy, unit_phy) < 0)
-            return false;
+        virAsprintf(cap, "%.3lf %s", val_cap, unit_cap);
+        virAsprintf(alloc, "%.3lf %s", val_alloc, unit_alloc);
+        virAsprintf(phy, "%.3lf %s", val_phy, unit_phy);
     }
 
     return true;
@@ -828,10 +826,9 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
     if (virMacAddrParse(iface, &macaddr) == 0)
         virMacAddrFormat(&macaddr, macstr);
 
-    if (virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
-                            "                          (target/@dev = '%s')]",
-                           macstr, iface) < 0)
-        goto cleanup;
+    virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
+                "                          (target/@dev = '%s')]", macstr,
+                iface);
 
     if ((ninterfaces = virXPathNodeSet(xpath, ctxt, &interfaces)) < 0) {
         vshError(ctl, _("Failed to extract interface information"));
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 2f3ac2d430..7a03c1fb6e 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -5535,11 +5535,8 @@ virshGenFileName(vshControl *ctl, virDomainPtr dom, const char *mime)
     localtime_r(&cur_time, &time_info);
     strftime(timestr, sizeof(timestr), "%Y-%m-%d-%H:%M:%S", &time_info);
 
-    if (virAsprintf(&ret, "%s-%s%s", virDomainGetName(dom),
-                    timestr, NULLSTR_EMPTY(ext)) < 0) {
-        vshError(ctl, "%s", _("Out of memory"));
-        return NULL;
-    }
+    virAsprintf(&ret, "%s-%s%s", virDomainGetName(dom), timestr,
+                NULLSTR_EMPTY(ext));
 
     return ret;
 }
@@ -6969,8 +6966,7 @@ virshVcpuPinQuery(vshControl *ctl,
                                                 cpumaplen)))
                 goto cleanup;
 
-            if (virAsprintf(&vcpuStr, "%zu", i) < 0)
-                goto cleanup;
+            virAsprintf(&vcpuStr, "%zu", i);
 
             if (vshTableRowAppend(table, vcpuStr, pinInfo, NULL) < 0)
                 goto cleanup;
@@ -7586,8 +7582,7 @@ cmdIOThreadInfo(vshControl *ctl, const vshCmd *cmd)
         g_autofree char *pinInfo = NULL;
         g_autofree char *iothreadIdStr = NULL;
 
-        if (virAsprintf(&iothreadIdStr, "%u", info[i]->iothread_id) < 0)
-            goto cleanup;
+        virAsprintf(&iothreadIdStr, "%u", info[i]->iothread_id);
 
         ignore_value(pinInfo = virBitmapDataFormat(info[i]->cpumap, info[i]->cpumaplen));
 
@@ -11391,8 +11386,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
 
         /* Create our XPATH lookup for the current display's port */
         VIR_FREE(xpath);
-        if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@port") < 0)
-            goto cleanup;
+        virAsprintf(&xpath, xpath_fmt, scheme[iter], "@port");
 
         /* Attempt to get the port number for the current graphics scheme */
         tmp = virXPathInt(xpath, ctxt, &port);
@@ -11405,8 +11399,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
 
         /* Create our XPATH lookup for TLS Port (automatically skipped
          * for unsupported schemes */
-        if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@tlsPort") < 0)
-            goto cleanup;
+        virAsprintf(&xpath, xpath_fmt, scheme[iter], "@tlsPort");
 
         /* Attempt to get the TLS port number */
         tmp = virXPathInt(xpath, ctxt, &tls_port);
@@ -11415,8 +11408,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
             tls_port = 0;
 
         /* Create our XPATH lookup for the current display's address */
-        if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@listen") < 0)
-            goto cleanup;
+        virAsprintf(&xpath, xpath_fmt, scheme[iter], "@listen");
 
         /* Attempt to get the listening addr if set for the current
          * graphics scheme */
@@ -11425,8 +11417,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
         VIR_FREE(xpath);
 
         /* Create our XPATH lookup for the current spice type. */
-        if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@type") < 0)
-            goto cleanup;
+        virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@type");
 
         /* Attempt to get the type of spice connection */
         VIR_FREE(type_conn);
@@ -11435,8 +11426,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
 
         if (STREQ_NULLABLE(type_conn, "socket")) {
             if (!sockpath) {
-                if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@socket") < 0)
-                    goto cleanup;
+                virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@socket");
 
                 sockpath = virXPathString(xpath, ctxt);
 
@@ -11456,8 +11446,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
              * subelement (which, by the way, doesn't exist on libvirt
              * < 0.9.4, so we really do need to check both places)
              */
-            if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@address") < 0)
-                goto cleanup;
+            virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@address");
 
             listen_addr = virXPathString(xpath, ctxt);
             VIR_FREE(xpath);
@@ -11493,8 +11482,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
          * care of when getting the XML */
 
         /* Create our XPATH lookup for the password */
-        if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@passwd") < 0)
-            goto cleanup;
+        virAsprintf(&xpath, xpath_fmt, scheme[iter], "@passwd");
 
         /* Attempt to get the password */
         VIR_FREE(passwd);
diff --git a/tools/virsh-host.c b/tools/virsh-host.c
index 9ecbdb5af6..fe172d2c29 100644
--- a/tools/virsh-host.c
+++ b/tools/virsh-host.c
@@ -1140,8 +1140,7 @@ vshExtractCPUDefXMLs(vshControl *ctl,
     else
         doc = buffer;
 
-    if (virAsprintf(&xmlStr, "<container>%s</container>", doc) < 0)
-        goto error;
+    virAsprintf(&xmlStr, "<container>%s</container>", doc);
 
     if (!(xml = virXMLParseStringCtxt(xmlStr, xmlFile, &ctxt)))
         goto error;
diff --git a/tools/virsh-interface.c b/tools/virsh-interface.c
index b83e385d00..fbeb40fc6a 100644
--- a/tools/virsh-interface.c
+++ b/tools/virsh-interface.c
@@ -893,11 +893,12 @@ cmdInterfaceBridge(vshControl *ctl, const vshCmd *cmd)
         goto cleanup;
     }
 
-    if (stp &&
-        ((virAsprintf(&delay_str, "%d", delay) < 0) ||
-         !xmlSetProp(br_node, BAD_CAST "delay", BAD_CAST delay_str))) {
-        vshError(ctl, _("Failed to set bridge delay %d in xml document"), delay);
-        goto cleanup;
+    if (stp) {
+        virAsprintf(&delay_str, "%d", delay);
+        if (!xmlSetProp(br_node, BAD_CAST "delay", BAD_CAST delay_str)) {
+            vshError(ctl, _("Failed to set bridge delay %d in xml document"), delay);
+            goto cleanup;
+        }
     }
 
     /* Change the type of the outer/master interface to "bridge" and the
diff --git a/tools/virsh-network.c b/tools/virsh-network.c
index 64b733adcc..662ca00e1c 100644
--- a/tools/virsh-network.c
+++ b/tools/virsh-network.c
@@ -1447,8 +1447,7 @@ cmdNetworkDHCPLeases(vshControl *ctl, const vshCmd *cmd)
         else if (lease->type == VIR_IP_ADDR_TYPE_IPV6)
             typestr = "ipv6";
 
-        ignore_value(virAsprintf(&cidr_format, "%s/%d",
-                                 lease->ipaddr, lease->prefix));
+        virAsprintf(&cidr_format, "%s/%d", lease->ipaddr, lease->prefix);
 
         if (vshTableRowAppend(table,
                               expirytime,
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index bd876aefda..5138a5946c 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1286,19 +1286,16 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
                     const char *unit;
 
                     val = vshPrettyCapacity(info.capacity, &unit);
-                    if (virAsprintf(&poolInfoTexts[i].capacity,
-                                    "%.2lf %s", val, unit) < 0)
-                        goto cleanup;
+                    virAsprintf(&poolInfoTexts[i].capacity, "%.2lf %s", val,
+                                unit);
 
                     val = vshPrettyCapacity(info.allocation, &unit);
-                    if (virAsprintf(&poolInfoTexts[i].allocation,
-                                    "%.2lf %s", val, unit) < 0)
-                        goto cleanup;
+                    virAsprintf(&poolInfoTexts[i].allocation, "%.2lf %s", val,
+                                unit);
 
                     val = vshPrettyCapacity(info.available, &unit);
-                    if (virAsprintf(&poolInfoTexts[i].available,
-                                    "%.2lf %s", val, unit) < 0)
-                        goto cleanup;
+                    virAsprintf(&poolInfoTexts[i].available, "%.2lf %s", val,
+                                unit);
                 } else {
                     /* Capacity related information isn't available */
                     poolInfoTexts[i].capacity = g_strdup(_("-"));
diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c
index d09d4435ad..bd57fd695d 100644
--- a/tools/virsh-volume.c
+++ b/tools/virsh-volume.c
@@ -1430,14 +1430,11 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
                 volInfoTexts[i].type = g_strdup(virshVolumeTypeToString(volumeInfo.type));
 
                 val = vshPrettyCapacity(volumeInfo.capacity, &unit);
-                if (virAsprintf(&volInfoTexts[i].capacity,
-                                "%.2lf %s", val, unit) < 0)
-                    goto cleanup;
+                virAsprintf(&volInfoTexts[i].capacity, "%.2lf %s", val, unit);
 
                 val = vshPrettyCapacity(volumeInfo.allocation, &unit);
-                if (virAsprintf(&volInfoTexts[i].allocation,
-                                "%.2lf %s", val, unit) < 0)
-                    goto cleanup;
+                virAsprintf(&volInfoTexts[i].allocation, "%.2lf %s", val,
+                            unit);
             }
         }
     }
diff --git a/tools/virt-admin.c b/tools/virt-admin.c
index f3ae011cf4..da28d760db 100644
--- a/tools/virt-admin.c
+++ b/tools/virt-admin.c
@@ -394,8 +394,7 @@ cmdSrvList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
 
     for (i = 0; i < nsrvs; i++) {
         g_autofree char *idStr = NULL;
-        if (virAsprintf(&idStr, "%zu", i) < 0)
-            goto cleanup;
+        virAsprintf(&idStr, "%zu", i);
 
         if (vshTableRowAppend(table,
                               idStr,
@@ -656,8 +655,7 @@ cmdSrvClientsList(vshControl *ctl, const vshCmd *cmd)
                              &timestr) < 0)
             goto cleanup;
 
-        if (virAsprintf(&idStr, "%llu", id) < 0)
-            goto cleanup;
+        virAsprintf(&idStr, "%llu", id);
         if (vshTableRowAppend(table, idStr,
                               vshAdmClientTransportToString(transport),
                               timestr, NULL) < 0)
diff --git a/tools/vsh.c b/tools/vsh.c
index 3f8b7f2186..8cd613bbbd 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -1795,28 +1795,27 @@ vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout)
 char *
 vshGetTypedParamValue(vshControl *ctl, virTypedParameterPtr item)
 {
-    int ret = 0;
     char *str = NULL;
 
     switch (item->type) {
     case VIR_TYPED_PARAM_INT:
-        ret = virAsprintf(&str, "%d", item->value.i);
+        virAsprintf(&str, "%d", item->value.i);
         break;
 
     case VIR_TYPED_PARAM_UINT:
-        ret = virAsprintf(&str, "%u", item->value.ui);
+        virAsprintf(&str, "%u", item->value.ui);
         break;
 
     case VIR_TYPED_PARAM_LLONG:
-        ret = virAsprintf(&str, "%lld", item->value.l);
+        virAsprintf(&str, "%lld", item->value.l);
         break;
 
     case VIR_TYPED_PARAM_ULLONG:
-        ret = virAsprintf(&str, "%llu", item->value.ul);
+        virAsprintf(&str, "%llu", item->value.ul);
         break;
 
     case VIR_TYPED_PARAM_DOUBLE:
-        ret = virAsprintf(&str, "%f", item->value.d);
+        virAsprintf(&str, "%f", item->value.d);
         break;
 
     case VIR_TYPED_PARAM_BOOLEAN:
@@ -1831,7 +1830,7 @@ vshGetTypedParamValue(vshControl *ctl, virTypedParameterPtr item)
         vshError(ctl, _("unimplemented parameter type %d"), item->type);
     }
 
-    if (ret < 0) {
+    if (!str) {
         vshError(ctl, "%s", _("Out of memory"));
         exit(EXIT_FAILURE);
     }
@@ -2419,10 +2418,7 @@ vshEditWriteToTempFile(vshControl *ctl, const char *doc)
 
     tmpdir = getenv("TMPDIR");
     if (!tmpdir) tmpdir = "/tmp";
-    if (virAsprintf(&ret, "%s/virshXXXXXX.xml", tmpdir) < 0) {
-        vshError(ctl, "%s", _("out of memory"));
-        return NULL;
-    }
+    virAsprintf(&ret, "%s/virshXXXXXX.xml", tmpdir);
     fd = mkostemps(ret, 4, O_CLOEXEC);
     if (fd == -1) {
         vshError(ctl, _("mkostemps: failed to create temporary file: %s"),
@@ -2940,8 +2936,7 @@ vshReadlineInit(vshControl *ctl)
     rl_completer_quote_characters = quote_characters;
     rl_char_is_quoted_p = vshReadlineCharIsQuoted;
 
-    if (virAsprintf(&histsize_env, "%s_HISTSIZE", ctl->env_prefix) < 0)
-        goto cleanup;
+    virAsprintf(&histsize_env, "%s_HISTSIZE", ctl->env_prefix);
 
     /* Limit the total size of the history buffer */
     if ((histsize_str = getenv(histsize_env))) {
@@ -2967,15 +2962,9 @@ vshReadlineInit(vshControl *ctl)
         goto cleanup;
     }
 
-    if (virAsprintf(&ctl->historydir, "%s/%s", userdir, ctl->name) < 0) {
-        vshError(ctl, "%s", _("Out of memory"));
-        goto cleanup;
-    }
+    virAsprintf(&ctl->historydir, "%s/%s", userdir, ctl->name);
 
-    if (virAsprintf(&ctl->historyfile, "%s/history", ctl->historydir) < 0) {
-        vshError(ctl, "%s", _("Out of memory"));
-        goto cleanup;
-    }
+    virAsprintf(&ctl->historyfile, "%s/history", ctl->historydir);
 
     read_history(ctl->historyfile);
     ret = 0;
@@ -3057,8 +3046,7 @@ vshInitDebug(vshControl *ctl)
     char *env = NULL;
 
     if (ctl->debug == VSH_DEBUG_DEFAULT) {
-        if (virAsprintf(&env, "%s_DEBUG", ctl->env_prefix) < 0)
-            return -1;
+        virAsprintf(&env, "%s_DEBUG", ctl->env_prefix);
 
         /* log level not set from commandline, check env variable */
         debugEnv = getenv(env);
@@ -3076,8 +3064,7 @@ vshInitDebug(vshControl *ctl)
     }
 
     if (ctl->logfile == NULL) {
-        if (virAsprintf(&env, "%s_LOG_FILE", ctl->env_prefix) < 0)
-            return -1;
+        virAsprintf(&env, "%s_LOG_FILE", ctl->env_prefix);
 
         /* log file not set from cmdline */
         debugEnv = getenv(env);
-- 
2.21.0




More information about the libvir-list mailing list