[PATCH 2/2] testutils: Adapt to highly unlikely case

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

 



Coverity pointed out that getenv("PATH") may return NULL. Well,
we check for that in virFindFileInPath() too. If this happens, we
will pass NULL into strstr(). Ouch.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 tests/testutils.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/tests/testutils.c b/tests/testutils.c
index 2df4250..d6cd193 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -813,9 +813,16 @@ virTestSetEnvPath(void)
     const char *path = getenv("PATH");
     char *new_path = NULL;
 
-    if (strstr(path, abs_builddir) != path &&
-        (virAsprintf(&new_path, "%s:%s", abs_builddir, path) < 0 ||
-         setenv("PATH", new_path, 1) < 0))
+    if (path) {
+        if (strstr(path, abs_builddir) != path &&
+            virAsprintf(&new_path, "%s:%s", abs_builddir, path) < 0)
+            goto cleanup;
+    } else {
+        if (VIR_STRDUP(new_path, abs_builddir) < 0)
+            goto cleanup;
+    }
+
+    if (setenv("PATH", new_path, 1) < 0)
         goto cleanup;
 
     ret = 0;
-- 
2.7.3

--
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