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

Michal Privoznik mprivozn at redhat.com
Thu Mar 24 14:18:51 UTC 2016


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 at redhat.com>
---
 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




More information about the libvir-list mailing list