diff -r f20cea484900 -r 61490330e90a util.c --- a/util.c Thu Jul 20 10:48:22 2006 +0200 +++ b/util.c Thu Jul 20 12:18:06 2006 +0200 @@ -26,6 +26,7 @@ emallocz(unsigned int size) { void *res = calloc(1, size); + if(!res) bad_malloc(size); return res; @@ -34,6 +35,7 @@ void eprint(const char *errstr, ...) { va_list ap; + va_start(ap, errstr); vfprintf(stderr, errstr, ap); va_end(ap); @@ -44,6 +46,7 @@ spawn(Arg *arg) { char **argv = (char **)arg->argv; + if(!argv || !argv[0]) return; if(fork() == 0) {