]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* Return APR_EOF if request body is shorter than the length announced by the
authorDaniel Earl Poirier <poirier@apache.org>
Tue, 20 Oct 2009 14:22:38 +0000 (14:22 +0000)
committerDaniel Earl Poirier <poirier@apache.org>
Tue, 20 Oct 2009 14:22:38 +0000 (14:22 +0000)
  client.

PR: 33098
Submitted by: Stefan Fritsch <sf sfritsch.de>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@827514 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/http/http_filters.c

diff --git a/CHANGES b/CHANGES
index af7c2c8e1bb35f1283f51893d4c0af09744f1109..314078c614060dd5f6ffe5c4eef4009f67a77585 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
-                                                         -*- coding: utf-8 -*-
+                                                         -*- coding: utf-8 -*-
 Changes with Apache 2.2.15
 
+  *) core: Return APR_EOF if request body is shorter than the length announced
+     by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>]
+
   *) mod_rewrite: Add scgi scheme detection.  [André Malo]
 
   *) mod_mime: Detect invalid use of MultiviewsMatch inside Location and
index f7f86df479bfcc4ce183750343329644b2049641..81295b242a3dea733cfc59023bbfbff97fc4635f 100644 (file)
@@ -524,6 +524,11 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b,
 
     if (ctx->state != BODY_NONE) {
         ctx->remaining -= totalread;
+        if (ctx->remaining > 0) {
+            e = APR_BRIGADE_LAST(b);
+            if (APR_BUCKET_IS_EOS(e))
+                return APR_EOF;
+        }
     }
 
     /* If we have no more bytes remaining on a C-L request,