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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html