Re: [PATCH 4/9] Remove VIR_STRNDUP usage with checked pointers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch failed to compile for me with the following error:


../../tools/vsh.c:70:1: error: 'vshErrorOOM' defined but not used [-Werror=unused-function]
   70 | vshErrorOOM(void)
      | ^~~~~~~~~~~


Apparently you removed the last call to vshErrorOOM() in the tools/vsh.c changes here. For
reference, I am testing this series on top of this commit:


commit 54dd0938375daaa68674b271f444b312d6684b01 (origin/master, origin/HEAD, master)
Author: Ján Tomko <jtomko@xxxxxxxxxx>
Date:   Wed Nov 13 09:51:45 2019 +0100

    locking: fix build with older sanlock



Removing the function makes the patch compile without errors:


diff --git a/tools/vsh.c b/tools/vsh.c
index 2b1e0506ba..5005b1deaa 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -65,17 +65,6 @@ const vshCmdGrp *cmdGroups;
 const vshCmdDef *cmdSet;
-/* simple handler for oom conditions */
-static void
-vshErrorOOM(void)
-{
-    fflush(stdout);
-    fputs(_("error: Out of memory\n"), stderr);
-    fflush(stderr);
-    exit(EXIT_FAILURE);
-}
-
-
 double
 vshPrettyCapacity(unsigned long long val, const char **unit)
 {



Aside from this, patch LGTM.



Thanks,


DHB


On 11/12/19 2:02 PM, Ján Tomko wrote:
Remove the usage where sanity of the length argument is verified
by other conditions not matching the previous patches.

Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx>
---
  src/libxl/xen_common.c | 18 ++++++++----------
  tools/vsh.c            |  5 ++---
  2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c
index a4a9ec59bf..7ac24fb606 100644
--- a/src/libxl/xen_common.c
+++ b/src/libxl/xen_common.c
@@ -817,9 +817,8 @@ xenParseSxprChar(const char *value,
              goto error;
          }
- if (offset != value &&
-            VIR_STRNDUP(def->source->data.tcp.host, value, offset - value) < 0)
-            goto error;
+        if (offset != value)
+            def->source->data.tcp.host = g_strndup(value, offset - value);
offset2 = strchr(offset, ',');
          offset++;
@@ -845,9 +844,9 @@ xenParseSxprChar(const char *value,
              goto error;
          }
- if (offset != value &&
-            VIR_STRNDUP(def->source->data.udp.connectHost, value, offset - value) < 0)
-            goto error;
+        if (offset != value)
+            def->source->data.udp.connectHost = g_strndup(value,
+                                                          offset - value);
offset2 = strchr(offset, '@');
          if (offset2 != NULL) {
@@ -862,10 +861,9 @@ xenParseSxprChar(const char *value,
                  goto error;
              }
- if (offset3 > (offset2 + 1) &&
-                VIR_STRNDUP(def->source->data.udp.bindHost,
-                            offset2 + 1, offset3 - offset2 - 1) < 0)
-                goto error;
+            if (offset3 > (offset2 + 1))
+                def->source->data.udp.bindHost = g_strndup(offset2 + 1,
+                                                           offset3 - offset2 - 1);
def->source->data.udp.bindService = g_strdup(offset3 + 1);
          } else {
diff --git a/tools/vsh.c b/tools/vsh.c
index 000cf6a009..2b1e0506ba 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -360,9 +360,8 @@ vshCmddefCheckInternals(vshControl *ctl,
                           cmd->name);
                  return -1; /* alias options are tracked by the original name */
              }
-            if ((p = strchr(name, '=')) &&
-                VIR_STRNDUP(name, name, p - name) < 0)
-                vshErrorOOM();
+            if ((p = strchr(name, '=')))
+                name = g_strndup(name, p - name);
              for (j = i + 1; cmd->opts[j].name; j++) {
                  if (STREQ(name, cmd->opts[j].name) &&
                      cmd->opts[j].type != VSH_OT_ALIAS)



--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux