|
From: Mark W. <ma...@so...> - 2019-05-28 16:14:16
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=791c0ba910f210f09646add24c34faa9ba4b162d commit 791c0ba910f210f09646add24c34faa9ba4b162d Author: Mark Wielaard <ma...@kl...> Date: Mon May 27 20:31:35 2019 +0200 ppc64: Arguments to iselInt128Expr_to_32x4 should be initialized. Make sure to initialize the arguments to iselInt128Expr_to_32x4. iselInt128Expr_to_32x4 will check that iselInt128Expr_to_32x4_wrk has assigned the correct type of values to the arguments. But if the arguments were never initialized it might not be able to when iselInt128Expr_to_32x4_wrk was unable to assign a value. Reviewed-by: Carl Love <ce...@us...> Diff: --- VEX/priv/host_ppc_isel.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/VEX/priv/host_ppc_isel.c b/VEX/priv/host_ppc_isel.c index 68cb503..e05145c 100644 --- a/VEX/priv/host_ppc_isel.c +++ b/VEX/priv/host_ppc_isel.c @@ -6537,7 +6537,10 @@ static void iselStmt ( ISelEnv* env, IRStmt* stmt, IREndness IEndianess ) return; } if (!mode64 && ty == Ity_I128) { - HReg r_srcHi, r_srcMedHi, r_srcMedLo, r_srcLo; + HReg r_srcHi = INVALID_HREG; + HReg r_srcMedHi = INVALID_HREG; + HReg r_srcMedLo = INVALID_HREG; + HReg r_srcLo = INVALID_HREG; HReg r_dstHi, r_dstMedHi, r_dstMedLo, r_dstLo; iselInt128Expr_to_32x4(&r_srcHi, &r_srcMedHi, |