You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apreq-cvs@httpd.apache.org by jo...@apache.org on 2004/08/02 21:04:23 UTC
cvs commit: httpd-apreq-2/src apreq_parsers.c
joes 2004/08/02 12:04:22
Modified: src apreq_parsers.c
Log:
Transient buckets morph when setaside, which can cause memory corruption in the way the mfd parser handles the param name. Use immortal buckets instead to ensure setaside is a noop.
Revision Changes Path
1.60 +2 -2 httpd-apreq-2/src/apreq_parsers.c
Index: apreq_parsers.c
===================================================================
RCS file: /home/cvs/httpd-apreq-2/src/apreq_parsers.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- apreq_parsers.c 31 Jul 2004 23:56:40 -0000 1.59
+++ apreq_parsers.c 2 Aug 2004 19:04:22 -0000 1.60
@@ -948,7 +948,7 @@
case APR_SUCCESS:
/* part has no body- return CRLF to front */
- e = apr_bucket_transient_create(CRLF, 2,
+ e = apr_bucket_immortal_create(CRLF, 2,
ctx->bb->bucket_alloc);
APR_BRIGADE_INSERT_HEAD(ctx->in,e);
break;
@@ -975,7 +975,7 @@
if (s != APR_SUCCESS) {
name = apr_pstrmemdup(pool, name, nlen);
- e = apr_bucket_transient_create(name, nlen,
+ e = apr_bucket_immortal_create(name, nlen,
ctx->bb->bucket_alloc);
APR_BRIGADE_INSERT_HEAD(ctx->bb,e);
ctx->status = MFD_PARAM;