128059b92 ("hush: fix segfault on syntax error") attempted to fix a
segfault on syntax errors, but it broke Ctrl-C handling, and the
assumption that it made, that rcode could not be -1, is incorrect.
Revert this change.

Reported-by: Stephen Warren <[email protected]>
Reported-by: Przemyslaw Marczak <[email protected]>
Signed-off-by: Rabin Vincent <[email protected]>
---
 common/cli_hush.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/cli_hush.c b/common/cli_hush.c
index d643912..296542f 100644
--- a/common/cli_hush.c
+++ b/common/cli_hush.c
@@ -3217,7 +3217,7 @@ static int parse_stream_outer(struct in_str *inp, int 
flag)
                }
                b_free(&temp);
        /* loop on syntax errors, return on EOF */
-       } while (rcode != 1 && !(flag & FLAG_EXIT_FROM_LOOP) &&
+       } while (rcode != -1 && !(flag & FLAG_EXIT_FROM_LOOP) &&
                (inp->peek != static_peek || b_peek(inp)));
 #ifndef __U_BOOT__
        return 0;
-- 
2.1.1

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to