diff --git a/source/amx/amxdbg.c b/source/amx/amxdbg.c index 069f0d3..b100d28 100644 --- a/source/amx/amxdbg.c +++ b/source/amx/amxdbg.c @@ -144,20 +144,19 @@ int AMXAPI dbg_LoadInfo(AMX_DBG *amxdbg, FILE *fp) amx_Align32((uint32_t*)&amxdbg->linetbl[index].line); } /* for */ #endif - ptr += dbghdr.lines * sizeof(AMX_DBG_LINE); + ptr += (uint16_t)dbghdr.lines * sizeof(AMX_DBG_LINE); /* detect dbghdr.lines overflow */ while ((line = (AMX_DBG_LINE *)ptr) && (cell)line->address > (cell)(line - 1)->address) { - dbghdr.lines = -1; #if BYTE_ORDER==BIG_ENDIAN - for (index = 0; index <= dbghdr.lines; index++) { + for (index = 0; index <= UINT16_MAX; index++) { amx_AlignCell(&linetbl[index].address); amx_Align32((uint32_t*)&linetbl[index].line); line++; } /* for */ #endif - ptr += ((uint32_t)dbghdr.lines + 1) * sizeof(AMX_DBG_LINE); + ptr += ((uint32_t)UINT16_MAX + 1) * sizeof(AMX_DBG_LINE); } /* while */ /* symbol table (plus index tags) */