[U-Boot] [PATCH] Revert "hush: fix segfault on syntax error"

Rabin Vincent rabin at rab.in
Fri Nov 21 23:05:22 CET 2014


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 at wwwdotorg.org>
Reported-by: Przemyslaw Marczak <p.marczak at samsung.com>
Signed-off-by: Rabin Vincent <rabin at rab.in>
---
 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



More information about the U-Boot mailing list