From 3849151a8fd01d1bc3536eb17949f862da900710 Mon Sep 17 00:00:00 2001 From: Christopher Li Date: Fri, 9 Feb 2007 16:15:40 -0800 Subject: [PATCH] Fix core dump on anonymous symbol. Using the following can generate anonymous symbol without initializer expression. return (struct foo) {}; It would be nice if sparse does not crash on it. Signed-Off-By: Christopher Li --- linearize.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/linearize.c b/linearize.c index 13cdf716..7b43b2ce 100644 --- a/linearize.c +++ b/linearize.c @@ -116,14 +116,16 @@ const char *show_pseudo(pseudo_t pseudo) } expr = sym->initializer; snprintf(buf, 64, "", sym); - switch (expr->type) { - case EXPR_VALUE: - snprintf(buf, 64, "", expr->value); - break; - case EXPR_STRING: - return show_string(expr->string); - default: - break; + if (expr) { + switch (expr->type) { + case EXPR_VALUE: + snprintf(buf, 64, "", expr->value); + break; + case EXPR_STRING: + return show_string(expr->string); + default: + break; + } } break; } -- 2.11.4.GIT