mirror of
https://github.com/capstone-engine/capstone.git
synced 2025-02-14 11:09:50 +00:00
Fix buffer overflow in M68K (#1146)
This commit is contained in:
parent
7c668dac9d
commit
d937c94cac
@ -188,7 +188,7 @@ static uint64_t m68k_read_disassembler_64(const m68k_info *info, const uint64_t
|
||||
static unsigned int m68k_read_safe_16(const m68k_info *info, const uint64_t address)
|
||||
{
|
||||
const uint64_t addr = (address - info->baseAddress) & info->address_mask;
|
||||
if (info->code_len < 2) {
|
||||
if (info->code_len < addr + 2) {
|
||||
return 0xaaaa;
|
||||
}
|
||||
return m68k_read_disassembler_16(info, addr);
|
||||
@ -197,7 +197,7 @@ static unsigned int m68k_read_safe_16(const m68k_info *info, const uint64_t addr
|
||||
static unsigned int m68k_read_safe_32(const m68k_info *info, const uint64_t address)
|
||||
{
|
||||
const uint64_t addr = (address - info->baseAddress) & info->address_mask;
|
||||
if (info->code_len < 4) {
|
||||
if (info->code_len < addr + 4) {
|
||||
return 0xaaaaaaaa;
|
||||
}
|
||||
return m68k_read_disassembler_32(info, addr);
|
||||
@ -206,7 +206,7 @@ static unsigned int m68k_read_safe_32(const m68k_info *info, const uint64_t addr
|
||||
static uint64_t m68k_read_safe_64(const m68k_info *info, const uint64_t address)
|
||||
{
|
||||
const uint64_t addr = (address - info->baseAddress) & info->address_mask;
|
||||
if (info->code_len < 8) {
|
||||
if (info->code_len < addr + 8) {
|
||||
return 0xaaaaaaaaaaaaaaaaLL;
|
||||
}
|
||||
return m68k_read_disassembler_64(info, addr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user