target/ppc: Fix TCG temporary leaks in gen_bcond()
authorGreg Kurz <groug@kaod.org>
Fri, 22 Mar 2019 18:03:40 +0000 (19:03 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 28 Mar 2019 23:22:22 +0000 (10:22 +1100)
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <155327782047.1283071.10234727692461848972.stgit@bahia.lan>
Tested-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target/ppc/translate.c

index 98b37cebc2f5768965cac137f9fc2f3fd9315071..aaafa3a715d8ce50baed3371e36299bbb5909435 100644 (file)
@@ -3749,6 +3749,8 @@ static void gen_bcond(DisasContext *ctx, int type)
         TCGv temp = tcg_temp_new();
         if (unlikely(type == BCOND_CTR)) {
             gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL);
+            tcg_temp_free(temp);
+            tcg_temp_free(target);
             return;
         }
         tcg_gen_subi_tl(cpu_ctr, cpu_ctr, 1);