summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/malloc/malloc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c
index d5ee4280..9e05e1d6 100644
--- a/src/malloc/malloc.c
+++ b/src/malloc/malloc.c
@@ -450,14 +450,15 @@ copy_realloc:
void free(void *p)
{
- struct chunk *self = MEM_TO_CHUNK(p);
- struct chunk *next;
+ struct chunk *self, *next;
size_t final_size, new_size, size;
int reclaim=0;
int i;
if (!p) return;
+ self = MEM_TO_CHUNK(p);
+
if (IS_MMAPPED(self)) {
size_t extra = self->psize;
char *base = (char *)self - extra;