Coverity: Check return value of malloc.
[libguestfs.git] / daemon / glob.c
index f15d5e5..f2815ec 100644 (file)
 #include "actions.h"
 
 char **
-do_glob_expand (char *pattern)
+do_glob_expand (const char *pattern)
 {
   int r;
   glob_t buf;
 
-  NEED_ROOT (NULL);
-  ABS_PATH (pattern, NULL);    /* Required so chroot can be used. */
-
   /* glob(3) in glibc never calls chdir, so this seems to be safe: */
   CHROOT_IN;
   r = glob (pattern, GLOB_MARK|GLOB_BRACE, NULL, &buf);
@@ -43,13 +40,17 @@ do_glob_expand (char *pattern)
     char **rv;
 
     rv = malloc (sizeof (char *) * 1);
+    if (rv == NULL) {
+      reply_with_perror ("malloc");
+      return NULL;
+    }
     rv[0] = NULL;
     return rv;                 /* Caller frees. */
   }
 
   if (r != 0) {
     if (errno != 0)
-      reply_with_perror ("glob: %s", pattern);
+      reply_with_perror ("%s", pattern);
     else
       reply_with_error ("glob failed: %s", pattern);
     return NULL;