|
@@ -54,8 +54,9 @@ void * realloc(void *ptr, size_t size) {
|
|
|
|
|
|
current_raw_block = systemallocator.raw_block_head;
|
|
|
while(current_raw_block) {
|
|
|
- if((char *)ptr - (char *)(current_raw_block) -
|
|
|
- sizeof(raw_block_header_t) < current_raw_block->size) {
|
|
|
+ if(((char *)ptr > (char *)current_raw_block) &&
|
|
|
+ ((char *)ptr < (char *)(current_raw_block) +
|
|
|
+ current_raw_block->size)) {
|
|
|
found = true;
|
|
|
break;
|
|
|
}
|
|
@@ -73,6 +74,6 @@ void * realloc(void *ptr, size_t size) {
|
|
|
return freelist_realloc(current_raw_block, ptr, size);
|
|
|
#endif
|
|
|
} else {
|
|
|
- return NULL;
|
|
|
+ return NULL;
|
|
|
}
|
|
|
}
|