summaryrefslogtreecommitdiffstats
path: root/modules/cache
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2010-10-23 14:36:23 +0200
committerGraham Leggett <minfrin@apache.org>2010-10-23 14:36:23 +0200
commit5aff0e237b42b50715e683b11993df8f3d7cbf76 (patch)
tree02733685cb28b701e3a4fbbdc1abbffc70f54461 /modules/cache
parentTake a slightly less "you broke it!!" tone in the default 500 Internal (diff)
downloadapache2-5aff0e237b42b50715e683b11993df8f3d7cbf76.tar.xz
apache2-5aff0e237b42b50715e683b11993df8f3d7cbf76.zip
mod_disk_cache: Make sure we step down cleanly when we've ben configured
to cache but haven't set a CacheRoot. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1026612 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/cache')
-rw-r--r--modules/cache/mod_disk_cache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/cache/mod_disk_cache.c b/modules/cache/mod_disk_cache.c
index a7c8abe0a1..5c817e745e 100644
--- a/modules/cache/mod_disk_cache.c
+++ b/modules/cache/mod_disk_cache.c
@@ -1147,12 +1147,16 @@ static apr_status_t store_body(cache_handle_t *h, request_rec *r,
APR_CREATE | APR_WRITE | APR_BINARY |
APR_BUFFERED | APR_EXCL, dobj->data.pool);
if (rv != APR_SUCCESS) {
+ apr_pool_destroy(dobj->data.pool);
+ APR_BRIGADE_CONCAT(out, dobj->bb);
return rv;
}
dobj->file_size = 0;
rv = apr_file_info_get(&finfo, APR_FINFO_IDENT,
dobj->data.tempfd);
if (rv != APR_SUCCESS) {
+ apr_pool_destroy(dobj->data.pool);
+ APR_BRIGADE_CONCAT(out, dobj->bb);
return rv;
}
dobj->disk_info.device = finfo.device;