summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjwoolley <jwoolley@13f79535-47bb-0310-9956-ffa450edef68>2005-03-11 20:43:11 +0000
committerjwoolley <jwoolley@13f79535-47bb-0310-9956-ffa450edef68>2005-03-11 20:43:11 +0000
commitff517349f0de9ffcedbd90a8ddae0e4dc67e14b6 (patch)
treea986667af29bf1903a541850f4f6a26e4fb3dd27
parent04ebc9e2036ceb63abd0253719ab4c36c9976e35 (diff)
downloadlibapr-util-ff517349f0de9ffcedbd90a8ddae0e4dc67e14b6.tar.gz
backport from trunk:
Fix memory leak when in APR_POOL_DEBUG mode. Submitted by: Joe Schaefer git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/branches/1.0.x@157151 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--buckets/apr_buckets_alloc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/buckets/apr_buckets_alloc.c b/buckets/apr_buckets_alloc.c
index 698d203d..58b46640 100644
--- a/buckets/apr_buckets_alloc.c
+++ b/buckets/apr_buckets_alloc.c
@@ -45,6 +45,13 @@ static apr_status_t alloc_cleanup(void *data)
apr_bucket_alloc_t *list = data;
apr_allocator_free(list->allocator, list->blocks);
+
+#if APR_POOL_DEBUG
+ if (list->pool && list->allocator != apr_pool_allocator_get(list->pool)) {
+ apr_allocator_destroy(list->allocator);
+ }
+#endif
+
return APR_SUCCESS;
}