diff options
author | Cyrill Gorcunov <gorcunov@gmail.com> | 2010-09-12 13:37:53 +0400 |
---|---|---|
committer | Cyrill Gorcunov <gorcunov@gmail.com> | 2010-09-15 21:12:52 +0400 |
commit | cb6032340a32532f3ebfb54908a0122f8d8be5da (patch) | |
tree | d32513f99879b4ca9e7e9b6d7e66d840836a07af | |
parent | 530c1eddf53d19e30025c11b2c4598248cd1c9c5 (diff) | |
download | nasm-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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; |