about summary refs log tree commit diff
path: root/Src/builtin.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/builtin.c')
-rw-r--r--Src/builtin.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index 3c07ee59a..4750e8d8b 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -4212,7 +4212,8 @@ bin_read(char *name, char **args, Options ops, int func)
 		timeout = (zlong)mn.u.l * (zlong)1000000;
 	    }
 	}
-	if (!read_poll(readfd, &readchar, keys && !zleactive, timeout)) {
+	if (readfd == -1 ||
+	    !read_poll(readfd, &readchar, keys && !zleactive, timeout)) {
 	    if (OPT_ISSET(ops,'k') && !zleactive && !isem)
 		settyinfo(&shttyinfo);
 	    if (haso) {