Revert "hush: fix segfault on syntax error"
authorRabin Vincent <rabin@rab.in>
Fri, 21 Nov 2014 22:05:22 +0000 (23:05 +0100)
committerTom Rini <trini@ti.com>
Mon, 24 Nov 2014 17:06:06 +0000 (12:06 -0500)
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

index d643912..296542f 100644 (file)
@@ -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;