From fee91096ca71a7215a3d6e6b92cacc1227e23fd0 Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Sat, 27 May 2023 22:10:54 -0400
Subject: [PATCH] microprofile: Avoid crashing due to OOB stack pos

---
 externals/microprofile/microprofile.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/externals/microprofile/microprofile.h b/externals/microprofile/microprofile.h
index 639f3618c6..8f75a25aa8 100644
--- a/externals/microprofile/microprofile.h
+++ b/externals/microprofile/microprofile.h
@@ -1697,7 +1697,13 @@ void MicroProfileFlip()
                             {
                                 int nTimer = MicroProfileLogTimerIndex(LE);
                                 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);
                                 pGroupStackPos[nGroup]++;
                                 pStack[nStackPos++] = k;