@@ -928,7 +928,7 @@ void *umm_realloc(void *ptr, size_t size) {
928
928
929
929
uint16_t c;
930
930
931
- size_t curSize;
931
+ [[maybe_unused]] size_t curSize;
932
932
933
933
UMM_CHECK_INITIALIZED ();
934
934
@@ -1089,7 +1089,8 @@ void *umm_realloc(void *ptr, size_t size) {
1089
1089
STATS__FREE_BLOCKS_UPDATE (-prevBlockSize);
1090
1090
STATS__FREE_BLOCKS_ISR_MIN ();
1091
1091
blockSize += prevBlockSize;
1092
- POISON_CHECK_SET_POISON ((void *)&UMM_DATA (c), size); // Fix allocation so ISR poison check is good
1092
+ // Fix new allocation such that poison checks from an ISR pass.
1093
+ POISON_CHECK_SET_POISON_BLOCKS ((void *)&UMM_DATA (c), blockSize);
1093
1094
UMM_CRITICAL_SUSPEND (id_realloc);
1094
1095
UMM_POISON_MEMMOVE ((void *)&UMM_DATA (c), ptr, curSize);
1095
1096
ptr = (void *)&UMM_DATA (c);
@@ -1111,7 +1112,7 @@ void *umm_realloc(void *ptr, size_t size) {
1111
1112
#else
1112
1113
blockSize += (prevBlockSize + nextBlockSize);
1113
1114
#endif
1114
- POISON_CHECK_SET_POISON ((void *)&UMM_DATA (c), size );
1115
+ POISON_CHECK_SET_POISON_BLOCKS ((void *)&UMM_DATA (c), blockSize );
1115
1116
UMM_CRITICAL_SUSPEND (id_realloc);
1116
1117
UMM_POISON_MEMMOVE ((void *)&UMM_DATA (c), ptr, curSize);
1117
1118
ptr = (void *)&UMM_DATA (c);
@@ -1123,7 +1124,7 @@ void *umm_realloc(void *ptr, size_t size) {
1123
1124
void *oldptr = ptr;
1124
1125
if ((ptr = umm_malloc_core (_context, size))) {
1125
1126
DBGLOG_DEBUG (" realloc %i to a bigger block %i, copy, and free the old\n " , blockSize, blocks);
1126
- POISON_CHECK_SET_POISON (( void *)& UMM_DATA (c) , size);
1127
+ ( void ) POISON_CHECK_SET_POISON (ptr , size);
1127
1128
UMM_CRITICAL_SUSPEND (id_realloc);
1128
1129
UMM_POISON_MEMCPY (ptr, oldptr, curSize);
1129
1130
UMM_CRITICAL_RESUME (id_realloc);
@@ -1186,7 +1187,8 @@ void *umm_realloc(void *ptr, size_t size) {
1186
1187
blockSize = blocks;
1187
1188
#endif
1188
1189
}
1189
- POISON_CHECK_SET_POISON ((void *)&UMM_DATA (c), size);
1190
+ // Fix new allocation such that poison checks from an ISR pass.
1191
+ POISON_CHECK_SET_POISON_BLOCKS ((void *)&UMM_DATA (c), blockSize);
1190
1192
UMM_CRITICAL_SUSPEND (id_realloc);
1191
1193
UMM_POISON_MEMMOVE ((void *)&UMM_DATA (c), ptr, curSize);
1192
1194
ptr = (void *)&UMM_DATA (c);
@@ -1204,7 +1206,7 @@ void *umm_realloc(void *ptr, size_t size) {
1204
1206
void *oldptr = ptr;
1205
1207
if ((ptr = umm_malloc_core (_context, size))) {
1206
1208
DBGLOG_DEBUG (" realloc %d to a bigger block %d, copy, and free the old\n " , blockSize, blocks);
1207
- POISON_CHECK_SET_POISON (( void *)& UMM_DATA (c) , size);
1209
+ ( void ) POISON_CHECK_SET_POISON (ptr , size);
1208
1210
UMM_CRITICAL_SUSPEND (id_realloc);
1209
1211
UMM_POISON_MEMCPY (ptr, oldptr, curSize);
1210
1212
UMM_CRITICAL_RESUME (id_realloc);
@@ -1230,7 +1232,7 @@ void *umm_realloc(void *ptr, size_t size) {
1230
1232
void *oldptr = ptr;
1231
1233
if ((ptr = umm_malloc_core (_context, size))) {
1232
1234
DBGLOG_DEBUG (" realloc %d to a bigger block %d, copy, and free the old\n " , blockSize, blocks);
1233
- POISON_CHECK_SET_POISON (( void *)& UMM_DATA (c) , size);
1235
+ ( void ) POISON_CHECK_SET_POISON (ptr , size);
1234
1236
UMM_CRITICAL_SUSPEND (id_realloc);
1235
1237
UMM_POISON_MEMCPY (ptr, oldptr, curSize);
1236
1238
UMM_CRITICAL_RESUME (id_realloc);
0 commit comments