summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-05-16 20:23:13 +0200
committerStefan Metzmacher <metze@samba.org>2011-05-17 08:22:20 +0200
commit14b662ee4f278764b9dfd620851e908d29f29fc4 (patch)
tree2cf661ae8b9e6dfa8e5e4da9dc815955885859da /lib
parent2d514be1ed3b8245157a0a51186ec7f9db828202 (diff)
downloadsamba-14b662ee4f278764b9dfd620851e908d29f29fc4.tar.gz
samba-14b662ee4f278764b9dfd620851e908d29f29fc4.tar.bz2
samba-14b662ee4f278764b9dfd620851e908d29f29fc4.zip
talloc: make use of _talloc_free_poolmem() in _talloc_realloc()
This should follow the same logic... metze
Diffstat (limited to 'lib')
-rw-r--r--lib/talloc/talloc.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c
index 0efeb7a7ad..fcd86d754a 100644
--- a/lib/talloc/talloc.c
+++ b/lib/talloc/talloc.c
@@ -1550,7 +1550,6 @@ _PUBLIC_ void *_talloc_realloc(const void *context, void *ptr, size_t size, cons
}
new_ptr = talloc_alloc_pool(tc, size + TC_HDR_SIZE);
- *talloc_pool_objectcount(pool_tc) -= 1;
if (new_ptr == NULL) {
new_ptr = malloc(TC_HDR_SIZE+size);
@@ -1559,21 +1558,8 @@ _PUBLIC_ void *_talloc_realloc(const void *context, void *ptr, size_t size, cons
if (new_ptr) {
memcpy(new_ptr, tc, MIN(tc->size,size) + TC_HDR_SIZE);
- TC_INVALIDATE_FULL_CHUNK(tc);
- if (*talloc_pool_objectcount(pool_tc) == 1) {
- /*
- * If the pool is empty now reclaim everything.
- */
- pool_tc->pool = TC_POOL_FIRST_CHUNK(pool_tc);
- TC_INVALIDATE_POOL(pool_tc);
- } else if (next_tc == pool_tc->pool) {
- /*
- * If it was reallocated and tc was the last
- * chunk, we can reclaim the memory of tc.
- */
- pool_tc->pool = tc;
- }
+ _talloc_free_poolmem(tc, __location__ "_talloc_realloc");
}
}
else {