Upon decode failure set the guest_IA to the address of the insn that
could not be decoded (current insn). Otherwise, a wrong address will be
reported in the complaint.


git-svn-id: svn://svn.valgrind.org/vex/trunk@2450 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/guest_s390_toIR.c b/priv/guest_s390_toIR.c
index a4a0562..9c15864 100644
--- a/priv/guest_s390_toIR.c
+++ b/priv/guest_s390_toIR.c
@@ -13809,8 +13809,11 @@
       /* All decode failures end up here. The decoder has already issued an
          error message.
          Tell the dispatcher that this insn cannot be decoded, and so has
-         not been executed, and (is currently) the next to be executed. */
-      put_IA(mkaddr_expr(guest_IA_next_instr));
+         not been executed, and (is currently) the next to be executed.
+         The insn address in the guest state needs to be set to 
+         guest_IA_curr_instr, otherwise the complaint will report an
+         incorrect address. */
+      put_IA(mkaddr_expr(guest_IA_curr_instr));
 
       dres.whatNext    = Dis_StopHere;
       dres.jk_StopHere = Ijk_NoDecode;