diff options
author | Luc Van Oostenryck <luc.vanoostenryck@looxix.net> | 2005-06-27 01:42:51 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-26 17:21:18 -0700 |
commit | e2559ab1f5d44c4708c60ff8cae240a854b56d34 (patch) | |
tree | d24d7145b4113fadbd6204f51f0ff6baec28a38c /linearize.c | |
parent | [PATCH] avoid segfault after parse errors in assignements (diff) | |
download | sparse-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.c | 3 |
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); } |