]> granicus.if.org Git - apache/commitdiff
Merge r1373898 from trunk:
authorJim Jagielski <jim@apache.org>
Wed, 26 Sep 2012 14:24:37 +0000 (14:24 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 26 Sep 2012 14:24:37 +0000 (14:24 +0000)
Fix crash in packet dump code of mod_proxy_ajp when
logging with LogLevel trace7 or trace8.

PR 53730

Submitted by: rjung
Reviewed/backported by: jim

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

CHANGES
STATUS
modules/proxy/ajp_msg.c

diff --git a/CHANGES b/CHANGES
index cfd1253d140fa22269f4d5d72c2ebc834abfd3b8..424cb585937ed0b6640c5a0465c99e3103285ded 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.4.4
 
+  *) mod_proxy_ajp: Fix crash in packet dump code when logging
+     with LogLevel trace7 or trace8.  PR 53730.  [Rainer Jung]
+
   *) httpd.conf: Removed the configuration directives setting a bad_DNT
      environment introduced in 2.4.3. The actual directives are commented
      out in the default conf file.
diff --git a/STATUS b/STATUS
index 5214620f25acd899e248d494162ee113ee8265f0..9647ceb35756fb4409906121bc0a39e5e2f97d20 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -89,12 +89,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-   * mod_proxy_ajp: Fix crash in packet dump code when logging
-     with LogLevel trace7 or trace8.  PR 53730.
-     trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1373898
-     2.4.x patch: trunk patch works.
-     +1: rjung, jim, trawick
-
    * installwinconf.awk: install.log output tweaks; reduced path convertion
      trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1375041
                   http://svn.apache.org/viewvc?view=revision&revision=1375071
index 638dfee2d8c5a99002615ccf77128f2f061b08ad..71bc1dd902a04fe9b6c5027d943d11aeac67703d 100644 (file)
@@ -21,9 +21,11 @@ APLOG_USE_MODULE(proxy_ajp);
 #define AJP_MSG_DUMP_BYTES_PER_LINE 16
 /* 2 hex digits plus space plus one char per dumped byte */
 /* plus prefix plus separator plus '\0' */
-#define AJP_MSG_DUMP_LINE_LENGTH    (strlen("XX .") + \
-                                     strlen("XXXX    ") + \
-                                     strlen(" - ") + 1)
+#define AJP_MSG_DUMP_PREFIX_LENGTH  strlen("XXXX    ")
+#define AJP_MSG_DUMP_LINE_LENGTH    ((AJP_MSG_DUMP_BYTES_PER_LINE * \
+                                    strlen("XX .")) + \
+                                    AJP_MSG_DUMP_PREFIX_LENGTH + \
+                                    strlen(" - ") + 1)
 
 static char *hex_table = "0123456789ABCDEF";
 
@@ -70,6 +72,7 @@ apr_status_t ajp_msg_dump(apr_pool_t *pool, ajp_msg_t *msg, char *err,
             return APR_ENOMEM;
         }
         apr_snprintf(current, rl, "%.4lx    ", (unsigned long)i);
+        current += AJP_MSG_DUMP_PREFIX_LENGTH;
         line_len = len - i;
         if (line_len > AJP_MSG_DUMP_BYTES_PER_LINE) {
             line_len = AJP_MSG_DUMP_BYTES_PER_LINE;