From: Jim Jagielski Date: Thu, 25 Aug 2011 12:25:17 +0000 (+0000) Subject: first round of cleanups X-Git-Tag: 2.3.15~367 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=14636f30f359539b73719920239a6897f76cf315;p=thirdparty%2Fapache%2Fhttpd.git first round of cleanups git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1161535 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/byterange_filter.c b/modules/http/byterange_filter.c index f363239dab2..4d915d966b2 100644 --- a/modules/http/byterange_filter.c +++ b/modules/http/byterange_filter.c @@ -175,13 +175,15 @@ static apr_status_t copy_brigade_range(apr_bucket_brigade *bb, return APR_EINVAL; e = first; - for (; ; ) + while (1) { apr_bucket *copy; AP_DEBUG_ASSERT(e != APR_BRIGADE_SENTINEL(bb)); rv = apr_bucket_copy(e, ©); - if (rv != APR_SUCCESS) - goto err; /* XXX try apr_bucket_read */ + if (rv != APR_SUCCESS) { + apr_brigade_cleanup(bbout); + return rv; + } APR_BRIGADE_INSERT_TAIL(bbout, copy); if (e == first) { @@ -189,11 +191,15 @@ static apr_status_t copy_brigade_range(apr_bucket_brigade *bb, rv = apr_bucket_split(copy, start - off_first); if (rv == APR_ENOTIMPL) { rv = apr_bucket_read(copy, &s, &len, APR_BLOCK_READ); - if (rv != APR_SUCCESS) - goto err; + if (rv != APR_SUCCESS) { + apr_brigade_cleanup(bbout); + return rv; + } rv = apr_bucket_split(copy, start - off_first); - if (rv != APR_SUCCESS) - goto err; + if (rv != APR_SUCCESS) { + apr_brigade_cleanup(bbout); + return rv; + } } out_first = APR_BUCKET_NEXT(copy); APR_BUCKET_REMOVE(copy); @@ -213,8 +219,10 @@ static apr_status_t copy_brigade_range(apr_bucket_brigade *bb, } if (end - off_last != e->length) { rv = apr_bucket_split(copy, end + 1 - off_last); - if (rv != APR_SUCCESS) - goto err; + if (rv != APR_SUCCESS) { + apr_brigade_cleanup(bbout); + return rv; + } copy = APR_BUCKET_NEXT(copy); APR_BUCKET_REMOVE(copy); apr_bucket_destroy(copy); @@ -227,9 +235,6 @@ static apr_status_t copy_brigade_range(apr_bucket_brigade *bb, AP_DEBUG_ASSERT(APR_SUCCESS == apr_brigade_length(bbout, 1, &pos)); AP_DEBUG_ASSERT(pos == end - start + 1); return APR_SUCCESS; -err: - apr_brigade_cleanup(bbout); - return rv; } AP_CORE_DECLARE_NONSTD(apr_status_t) ap_byterange_filter(ap_filter_t *f,