--- a/src/misc/wordexp.c
+++ b/src/misc/wordexp.c
@@ -26,7 +26,13 @@ static void reap(pid_t pid)
 static char *getword(FILE *f)
 {
 	char *s = 0;
-	return getdelim(&s, (size_t [1]){0}, 0, f) < 0 ? 0 : s;
+	ssize_t len = 0;
+	len = getdelim(&s, (size_t [1]){0}, 0, f);
+	if(-1 == len) {
+		free(s);
+		s = NULL;
+	}
+	return s;
 }
 
 static int do_wordexp(const char *s, wordexp_t *we, int flags)