x86: set s->pc in disas_insn() early to fix uninitialized read issue. bug reported by @farmdve

This commit is contained in:
Nguyen Anh Quynh 2016-01-03 08:25:51 +07:00
parent 06108ea908
commit 075ccadbe9

View File

@ -4751,6 +4751,8 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
bool changed_cc_op = false;
s->pc = pc_start;
// end address tells us to stop emulation
if (s->pc == s->uc->addr_end) {
// imitate the HLT instruction
@ -4781,7 +4783,6 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
}
}
s->pc = pc_start;
prefixes = 0;
s->override = -1;
rex_w = -1;