diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | malloc/memusage.c | 11 |
2 files changed, 10 insertions, 6 deletions
@@ -1,7 +1,8 @@ 2001-09-20 Ulrich Drepper <drepper@redhat.com> - * malloc/memusage.c (me): Always use dlsym() to find the real - implementations. + * malloc/memusage.c (realloc): Don't count already allocated + memory in the sums. + (me): Always use dlsym() to find the real implementations. * malloc/memusage.sh: Make -n option actually do something. diff --git a/malloc/memusage.c b/malloc/memusage.c index 19bb35f94f..b35444da10 100644 --- a/malloc/memusage.c +++ b/malloc/memusage.c @@ -357,10 +357,13 @@ realloc (void *old, size_t len) /* Keep track of number of calls. */ ++calls[idx_realloc]; - /* Keep track of total memory consumption for `realloc'. */ - total[idx_realloc] += len; - /* Keep track of total memory requirement. */ - grand_total += len; + if (len > old_len) + { + /* Keep track of total memory consumption for `realloc'. */ + total[idx_realloc] += len - old_len; + /* Keep track of total memory requirement. */ + grand_total += len - old_len; + } /* Remember the size of the request. */ if (len < 65536) ++histogram[len / 16]; |