On 06/27/2017 01:47 AM, Alex Bennée wrote:
Richard Henderson <r...@twiddle.net> writes:
Signed-off-by: Richard Henderson <r...@twiddle.net>
---
tcg/tcg.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 3b35344..6c357e7 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -730,7 +730,7 @@ extern bool parallel_cpus;
static inline TCGTemp *arg_temp(TCGArg a)
{
- return &tcg_ctx.temps[a];
+ return a == TCG_CALL_DUMMY_ARG ? NULL : &tcg_ctx.temps[a];
}
It doesn't look like a lot of calls to arg_temp are able to deal with a
NULL return and may well immediately deref the value. Are we sure the
cases the TCG_CALL_DUMMY arg is involved are narrowly defined?
They only appear as arguments to a call opcode.
r~