Commit Diff


commit - e42c03663442f5fb2f66dd59cc5bfdc61c53192c
commit + 689d9bfcf6859e5ce85c296ff0f23b5c08b1fedc
blob - e7be8af98b94dca791b00707df4c51067c5bfea8
blob + e786d7a31ba7ec360e057db1f5321b73073d39e4
--- dmenu.c
+++ dmenu.c
@@ -554,7 +554,7 @@ readstdin(void)
 	ssize_t len;
 
 	/* read each line from stdin and add it to the item list */
-	for (i = 0; (len = getline(&line, &junk, stdin)) != -1; i++, line = NULL) {
+	for (i = 0; (len = getline(&line, &junk, stdin)) != -1; i++) {
 		if (i + 1 >= size / sizeof *items)
 			if (!(items = realloc(items, (size += BUFSIZ))))
 				die("cannot realloc %zu bytes:", size);
@@ -562,7 +562,9 @@ readstdin(void)
 			line[len - 1] = '\0';
 		items[i].text = line;
 		items[i].out = 0;
+		line = NULL;
 	}
+	free(line);
 	if (items)
 		items[i].text = NULL;
 	lines = MIN(lines, i);