diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-05-16 20:23:13 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-05-17 08:22:20 +0200 |
commit | 14b662ee4f278764b9dfd620851e908d29f29fc4 (patch) | |
tree | 2cf661ae8b9e6dfa8e5e4da9dc815955885859da /lib/talloc | |
parent | 2d514be1ed3b8245157a0a51186ec7f9db828202 (diff) | |
download | samba-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/talloc')
-rw-r--r-- | lib/talloc/talloc.c | 16 |
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 { |