Message ID | 1416607522-5161-1-git-send-email-rabin@rab.in |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Fri, Nov 21, 2014 at 11:05:22PM +0100, Rabin Vincent wrote: > 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 <swarren@wwwdotorg.org> > Reported-by: Przemyslaw Marczak <p.marczak@samsung.com> > Signed-off-by: Rabin Vincent <rabin@rab.in> Applied to u-boot/master, thanks!
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;
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 <swarren@wwwdotorg.org> Reported-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Rabin Vincent <rabin@rab.in> --- common/cli_hush.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)