]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix segfault in open_bpipe() when the program is empty
authorEric Bollengier <eric@baculasystems.com>
Fri, 18 Sep 2015 06:49:27 +0000 (08:49 +0200)
committerKern Sibbald <kern@sibbald.com>
Sat, 21 Nov 2015 17:17:51 +0000 (09:17 -0800)
bacula/src/lib/bpipe.c

index 81d673fd69a43f14406428bc326089677b976cbe..c0ef83a6334231fa40ff404e16a37b083f848f0f 100644 (file)
@@ -74,6 +74,12 @@ BPIPE *open_bpipe(char *prog, int wait, const char *mode, char *envp[])
    BPIPE *bpipe;
    int save_errno;
 
+   if (!prog || !*prog) {
+      /* execve(3) A component of the file does not name an existing file or file is an empty string. */
+      errno = ENOENT; 
+      return NULL;
+   }
+   
    bpipe = (BPIPE *)malloc(sizeof(BPIPE));
    memset(bpipe, 0, sizeof(BPIPE));
    mode_read = (mode[0] == 'r');