]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r573903 from trunk:
authorJim Jagielski <jim@apache.org>
Wed, 12 Sep 2007 13:16:58 +0000 (13:16 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 12 Sep 2007 13:16:58 +0000 (13:16 +0000)
mod_proxy: Don't lose bytes when a response line arrives in small chunks.
PR 40894

Submitted by: niq
Reviewed by: jim

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

CHANGES
STATUS
modules/proxy/proxy_util.c

diff --git a/CHANGES b/CHANGES
index 5ec385ee197cdfc5cdbe609890b2d873b14fcf7a..2d8761619f08dfe8b5d67ddcb966a09921fb3060 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                         -*- coding: utf-8 -*-
 Changes with Apache 2.2.7
 
+  *) mod_proxy: Don't lose bytes when a response line arrives in small chunks.
+     PR 40894 [Andrew Rucker Jones <arjones simultan.dyndns.org>]
 
 Changes with Apache 2.2.6
 
diff --git a/STATUS b/STATUS
index 085e5a7a4341fa9e1c6fed2aac1b180e74de1353..db73cb7efaf5b485db403397deb984c732494419 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -99,11 +99,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
       http://svn.apache.org/viewvc?view=rev&revision=573911
       +1: niq, rpluem, jim
 
-    * mod_proxy: Don't lose bytes when a response line arrives in small chunks.
-      PR 40894
-      http://svn.apache.org/viewvc?view=rev&revision=573903
-      +1: niq, rpluem, jim
-
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
 
     * mpm_winnt: Eliminate wait_for_many_objects.  Allows the clean 
index 934f9027ab95b0d3925144ba57a5a30b9f4f383d..b7f1a806d2b7f42e076c058c8b2864ea696d2ea5 100644 (file)
@@ -995,12 +995,14 @@ PROXY_DECLARE(apr_status_t) ap_proxy_string_read(conn_rec *c, apr_bucket_brigade
                     len = (bufflen-1)-(pos-buff);
                 }
                 if (len > 0) {
-                    pos = apr_cpystrn(pos, response, len);
+                    memcpy(pos, response, len);
+                    pos += len;
                 }
             }
             APR_BUCKET_REMOVE(e);
             apr_bucket_destroy(e);
         }
+        *pos = '\0';
     }
 
     return APR_SUCCESS;