diff options
Diffstat (limited to 'libpsn00b/libc/malloc.c')
| -rw-r--r-- | libpsn00b/libc/malloc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libpsn00b/libc/malloc.c b/libpsn00b/libc/malloc.c index 4d6dbef..74a5087 100644 --- a/libpsn00b/libc/malloc.c +++ b/libpsn00b/libc/malloc.c @@ -199,7 +199,7 @@ __attribute__((weak)) void *realloc(void *ptr, size_t size) { // New memory block shorter? if (prev->size >= _size) { TrackHeapUsage(size - prev->size); - prev->size = _size; + prev->size = _size - sizeof(BlockHeader); if (!prev->next) sbrk((ptr - sbrk(0)) + _size); @@ -214,14 +214,14 @@ __attribute__((weak)) void *realloc(void *ptr, size_t size) { return 0; TrackHeapUsage(size - prev->size); - prev->size = _size; + prev->size = _size - sizeof(BlockHeader); return ptr; } // Do we have free memory after it? if (((prev->next)->ptr - ptr) > _size) { TrackHeapUsage(size - prev->size); - prev->size = _size; + prev->size = _size - sizeof(BlockHeader); return ptr; } |
