mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
[Imgtool Mac Module] Fixed an unsigned overflow error that would causes crashes on 64 bit systems
This commit is contained in:
parent
84fb03f4a8
commit
4ea9bdd6c5
@ -3839,8 +3839,9 @@ static imgtoolerr_t BT_node_get_record(mac_BTref *BTref, void *node_buf, unsigne
|
||||
if (recnum >= node_numRecords)
|
||||
return IMGTOOLERR_UNEXPECTED;
|
||||
|
||||
offset = get_UINT16BE(((UINT16BE *)((UINT8 *) node_buf + BTref->nodeSize))[-recnum-1]);
|
||||
next_offset = get_UINT16BE(((UINT16BE *)((UINT8 *) node_buf + BTref->nodeSize))[-recnum-2]);
|
||||
int recnum_s = (int)recnum;
|
||||
offset = get_UINT16BE(((UINT16BE *)((UINT8 *) node_buf + BTref->nodeSize))[-recnum_s - 1]);
|
||||
next_offset = get_UINT16BE(((UINT16BE *)((UINT8 *) node_buf + BTref->nodeSize))[-recnum_s - 2]);
|
||||
|
||||
if ((offset < sizeof(BTNodeHeader)) || (offset > BTref->nodeSize-2*node_numRecords)
|
||||
|| (next_offset < sizeof(BTNodeHeader)) || (next_offset > BTref->nodeSize-2*node_numRecords)
|
||||
|
Loading…
Reference in New Issue
Block a user