aboutsummaryrefslogtreecommitdiff
path: root/malloc/memusage.c
diff options
context:
space:
mode:
Diffstat (limited to 'malloc/memusage.c')
-rw-r--r--malloc/memusage.c11
1 files changed, 7 insertions, 4 deletions
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];