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

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



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


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