diff options
Diffstat (limited to 'src/arch/dalvik/pseudo')
-rw-r--r-- | src/arch/dalvik/pseudo/fill.c | 5 | ||||
-rw-r--r-- | src/arch/dalvik/pseudo/switch.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/dalvik/pseudo/fill.c b/src/arch/dalvik/pseudo/fill.c index 95880fc..e1e1822 100644 --- a/src/arch/dalvik/pseudo/fill.c +++ b/src/arch/dalvik/pseudo/fill.c @@ -191,7 +191,10 @@ GArchInstruction *g_dalvik_fill_instr_new(uint16_t ident, const GBinContent *con consumed = result->array_width * result->array_size; - advance_vmpa(pos, consumed); + if (!g_binary_content_seek(content, pos, consumed)) + goto gdfin_bad; + + g_arch_instruction_set_displayed_max_length(G_ARCH_INSTRUCTION(result), 8); return G_ARCH_INSTRUCTION(result); diff --git a/src/arch/dalvik/pseudo/switch.c b/src/arch/dalvik/pseudo/switch.c index 1bfc124..c1d0982 100644 --- a/src/arch/dalvik/pseudo/switch.c +++ b/src/arch/dalvik/pseudo/switch.c @@ -190,7 +190,10 @@ GArchInstruction *g_dalvik_switch_instr_new(uint16_t ident, const GBinContent *c else consumed = (2 * result->switch_size) * sizeof(uint32_t); - advance_vmpa(pos, consumed); + if (!g_binary_content_seek(content, pos, consumed)) + goto gdsin_bad; + + g_arch_instruction_set_displayed_max_length(G_ARCH_INSTRUCTION(result), 4); return G_ARCH_INSTRUCTION(result); |