sparse can segfault in while loop in is_string_literal():

static int is_string_literal(struct expression **v)
{
        struct expression *e = *v;
        while (e->type == EXPR_PREOP && e->op == '(')
===>            e = e->unop;    <===

Here expression is NULL.

Steps to reproduce:

        $ echo 'char a[][] = {(};' | sparse -
        -:1:16: error: Expected ) in expression
        -:1:16: error: got }
        Segmentation fault

-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to