Avoid overflowing the stack when allocating memory for polytope in EPA.

PiperOrigin-RevId: 688641864
Change-Id: I3eef7e821ffbfa8d97a946ecf86d098cb4f0c233
This commit is contained in:
Kyle Bayes
2024-10-22 12:10:29 -07:00
committed by Copybara-Service
parent 4a3f77dd1f
commit 0c97dcf1fd
3 changed files with 35 additions and 7 deletions
+5 -2
View File
@@ -75,7 +75,7 @@ MJAPI void mj_saveModel(const mjModel* m, const char* filename, void* buffer, in
// load binary MJB
mjModel* mj_loadModelBuffer(const void* buffer, int buffer_sz);
// de-allocate model
// deallocate model
MJAPI void mj_deleteModel(mjModel* m);
// size of buffer needed to hold model
@@ -128,6 +128,9 @@ void mj__freeStack(mjData* d) __attribute__((noinline));
#endif // ADDRESS_SANITIZER
// returns the number of bytes available on the stack
MJAPI size_t mj_stackBytesAvailable(mjData* d);
// mjData stack allocate
MJAPI void* mj_stackAllocByte(mjData* d, size_t bytes, size_t alignment);
@@ -137,7 +140,7 @@ MJAPI mjtNum* mj_stackAllocNum(mjData* d, size_t size);
// mjData stack allocate for array of ints
MJAPI int* mj_stackAllocInt(mjData* d, size_t size);
// de-allocate data
// deallocate data
MJAPI void mj_deleteData(mjData* d);
// clear arena pointers in mjData