aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@looxix.net>2005-06-27 01:42:51 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-26 17:21:18 -0700
commite2559ab1f5d44c4708c60ff8cae240a854b56d34 (patch)
treed24d7145b4113fadbd6204f51f0ff6baec28a38c /linearize.c
parent[PATCH] avoid segfault after parse errors in assignements (diff)
downloadsparse-e2559ab1f5d44c4708c60ff8cae240a854b56d34.tar.gz
sparse-e2559ab1f5d44c4708c60ff8cae240a854b56d34.tar.bz2
sparse-e2559ab1f5d44c4708c60ff8cae240a854b56d34.zip
[PATCH] avoid segafult after parse errors in casts
Avoid deferencing a null pointer after parse errors in casts. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@looxix.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/linearize.c b/linearize.c
index 44521f6..6a6b640 100644
--- a/linearize.c
+++ b/linearize.c
@@ -1452,6 +1452,9 @@ pseudo_t linearize_cast(struct entrypoint *ep, struct expression *expr)
pseudo_t src;
struct expression *orig = expr->cast_expression;
+ if (!orig)
+ return VOID;
+
src = linearize_expression(ep, orig);
return cast_pseudo(ep, src, orig->ctype, expr->ctype);
}