summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2010-09-12 13:37:53 +0400
committerCyrill Gorcunov <gorcunov@gmail.com>2010-09-15 21:12:52 +0400
commitcb6032340a32532f3ebfb54908a0122f8d8be5da (patch)
treed32513f99879b4ca9e7e9b6d7e66d840836a07af
parent530c1eddf53d19e30025c11b2c4598248cd1c9c5 (diff)
downloadnasm-cb6032340a32532f3ebfb54908a0122f8d8be5da.tar.gz
BR3064376: ndisasm crash
ndisasm may crash due to lack of check of VEX table index. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r--disasm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/disasm.c b/disasm.c
index ba282d34..63208526 100644
--- a/disasm.c
+++ b/disasm.c
@@ -1102,7 +1102,7 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
prefix.vex_v = (~prefix.vex[2] >> 3) & 15;
prefix.vex_lp = prefix.vex[2] & 7;
- ix = itable_vex[RV_XOP][prefix.vex_m][prefix.vex_lp];
+ ix = itable_vex[RV_XOP][prefix.vex_m][prefix.vex_lp & 3];
}
end_prefix = true;
break;