microprofile: Avoid crashing due to OOB stack pos

This commit is contained in:
ameerj 2023-05-27 22:10:54 -04:00
parent d6db422098
commit fee91096ca

View File

@ -1697,7 +1697,13 @@ void MicroProfileFlip()
{ {
int nTimer = MicroProfileLogTimerIndex(LE); int nTimer = MicroProfileLogTimerIndex(LE);
uint8_t nGroup = pTimerToGroup[nTimer]; uint8_t nGroup = pTimerToGroup[nTimer];
MP_ASSERT(nStackPos < MICROPROFILE_STACK_MAX);
// To avoid crashing due to OOB memory accesses/asserts
// simply skip this iteration
// MP_ASSERT(nStackPos < MICROPROFILE_STACK_MAX);
if (nStackPos >= MICROPROFILE_STACK_MAX) {
break;
}
MP_ASSERT(nGroup < MICROPROFILE_MAX_GROUPS); MP_ASSERT(nGroup < MICROPROFILE_MAX_GROUPS);
pGroupStackPos[nGroup]++; pGroupStackPos[nGroup]++;
pStack[nStackPos++] = k; pStack[nStackPos++] = k;