diff mbox series

[03/13] protect add_convert_to_bool() against bad types / invalid expressions

Message ID 20180804203555.23887-4-luc.vanoostenryck@gmail.com (mailing list archive)
State Mainlined, archived
Headers show
Series fix linearize_logical() & simplification | expand

Commit Message

Luc Van Oostenryck Aug. 4, 2018, 8:35 p.m. UTC
It's not possible to do a boolean conversion of an expression
if this expression is invalid / has not type / is VOID.

Fix this by returning VOID in these situations.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 linearize.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/linearize.c b/linearize.c
index 016b853b9..7aa7fd4c3 100644
--- a/linearize.c
+++ b/linearize.c
@@ -1376,6 +1376,8 @@  static inline pseudo_t add_convert_to_bool(struct entrypoint *ep, pseudo_t src,
 	pseudo_t zero;
 	int op;
 
+	if (!type || src == VOID)
+		return VOID;
 	if (is_bool_type(type))
 		return src;
 	if (is_float_type(type)) {