format: Handle offset operands properly

This commit is contained in:
Alexis Engelke
2020-06-14 13:55:59 +02:00
parent 9454f5f746
commit 8716bd1991
3 changed files with 14 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
decode32 e900000000 [JMP imm4:0x1234005]
decode32 66e90100 [JMP imm2:0x4005]
decode64 e900000000 [JMP imm8:0x1234005]
decode64 66e900000000 [JMP imm8:0x1234006]
decode32 e900000000 [JMP off4:eip+0x0]
decode32 66e90100 [JMP off2:ip+0x1]
decode64 e900000000 [JMP off8:rip+0x0]
decode64 66e900000000 [JMP off8:rip+0x0]

View File

@@ -58,8 +58,7 @@ main(int argc, char** argv)
while (current_off != length)
{
size_t remaining = length - current_off;
int retval = fd_decode(code + current_off, remaining, mode,
0x1234000, &instr);
int retval = fd_decode(code + current_off, remaining, mode, 0, &instr);
if (retval < 0)
goto fail;
current_off += retval;