From 1c606bc9ecac07dcce78cd3f8b5971a0b94f6d9b Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 26 Oct 2019 10:53:35 +0800 Subject: HIR Typecheck Expr - Avoid use-after-free in handling of integer operations --- src/hir_typeck/expr_cs.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp index f5ef9fc6..6f6e7703 100644 --- a/src/hir_typeck/expr_cs.cpp +++ b/src/hir_typeck/expr_cs.cpp @@ -6635,8 +6635,13 @@ namespace { if( H::type_is_num(left) && H::type_is_num(right) ) { DEBUG("- Magic inferrence link for binops on numerics"); context.equate_types(sp, res, left); + const auto& right = context.get_type(v.params.m_types.at(0)); + context.equate_types_to_shadow(sp, right); + } + else + { + context.equate_types_to_shadow(sp, right); } - context.equate_types_to_shadow(sp, right); } else { -- cgit v1.2.3