Merge pull request #10475 from ameerj/microprofile-workaround

microprofile: Avoid crashing due to OOB stackPos
master
liamwhite 2023-05-28 13:18:54 +07:00 committed by GitHub
commit b26018e2e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 1 deletions

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