If end of file is reached on input, then cmdline_read_char()
will return 0. The problem is that cmdline_poll() was not checking
for this and would continue and not return the status.

Fixes: 9251cd97a6be ("cmdline: add internal wrappers for character input")
Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 lib/cmdline/cmdline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/cmdline/cmdline.c b/lib/cmdline/cmdline.c
index e1009ba4c413..de41406d61e0 100644
--- a/lib/cmdline/cmdline.c
+++ b/lib/cmdline/cmdline.c
@@ -194,7 +194,7 @@ cmdline_poll(struct cmdline *cl)
        else if (status > 0) {
                c = -1;
                read_status = cmdline_read_char(cl, &c);
-               if (read_status < 0)
+               if (read_status <= 0)
                        return read_status;
 
                status = cmdline_in(cl, &c, 1);
-- 
2.39.0

Reply via email to