Browse Source

microprofile: Avoid crashing due to OOB stack pos

pull/15/merge
ameerj 3 years ago
parent
commit
fee91096ca
  1. 8
      externals/microprofile/microprofile.h

8
externals/microprofile/microprofile.h

@ -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;

Loading…
Cancel
Save