[libvirt] [PATCH] Check getenv("PATH") for NULL in virFindFileInPath

Matthias Bolte matthias.bolte at googlemail.com
Thu Jun 10 20:42:56 UTC 2010


Otherwise this will segfault if PATH is not defined.

Reported by Emre Erenoglu
---
 src/util/util.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/util/util.c b/src/util/util.c
index 34cfc21..445fd4e 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -1213,6 +1213,7 @@ int virFileResolveLink(const char *linkpath,
  */
 char *virFindFileInPath(const char *file)
 {
+    char *path;
     char pathenv[PATH_MAX];
     char *penv = pathenv;
     char *pathseg;
@@ -1232,7 +1233,9 @@ char *virFindFileInPath(const char *file)
     }
 
     /* copy PATH env so we can tweak it */
-    if (virStrcpyStatic(pathenv, getenv("PATH")) == NULL)
+    path = getenv("PATH");
+
+    if (path == NULL || virStrcpyStatic(pathenv, path) == NULL)
         return NULL;
 
     /* for each path segment, append the file to search for and test for
-- 
1.7.0.4




More information about the libvir-list mailing list