aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b
diff options
context:
space:
mode:
authorEngineersBox <toastcraft.info@gmail.com>2024-01-13 23:53:48 +1100
committerEngineersBox <toastcraft.info@gmail.com>2024-01-13 23:53:48 +1100
commit9d0bd9ffc1d5fc89232653e9c0255c8c2558115d (patch)
treef68f24044243ad5dd78a598ab0f83379bc182556 /libpsn00b
parent9b1cdba106790ce70ebbb163c1d34dd14c22c5be (diff)
Added logged fix
Diffstat (limited to 'libpsn00b')
-rw-r--r--libpsn00b/libc/malloc.c6
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;
}