You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rj...@apache.org on 2012/08/16 18:05:22 UTC
svn commit: r1373898 - in /httpd/httpd/trunk: CHANGES modules/proxy/ajp_msg.c
Author: rjung
Date: Thu Aug 16 16:05:21 2012
New Revision: 1373898
URL: http://svn.apache.org/viewvc?rev=1373898&view=rev
Log:
Fix crash in packet dump code of mod_proxy_ajp when
logging with LogLevel trace7 or trace8.
PR 53730
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/modules/proxy/ajp_msg.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1373898&r1=1373897&r2=1373898&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Thu Aug 16 16:05:21 2012
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_proxy_ajp: Fix crash in packet dump code when logging
+ with LogLevel trace7 or trace8. PR 53730. [Rainer Jung]
+
*) mod_cache: Wrong content type and character set when
mod_cache serves stale content because of a proxy error.
PR 53539. [Rainer Jung, Ruediger Pluem]
Modified: httpd/httpd/trunk/modules/proxy/ajp_msg.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/ajp_msg.c?rev=1373898&r1=1373897&r2=1373898&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/ajp_msg.c (original)
+++ httpd/httpd/trunk/modules/proxy/ajp_msg.c Thu Aug 16 16:05:21 2012
@@ -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 *po
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;