From 5898e9e116a45178054b8fd5b43ef8b77049f987 Mon Sep 17 00:00:00 2001 From: ivanr Date: Fri, 10 Aug 2007 14:24:13 +0000 Subject: [PATCH] Fixed a potential segmentation fault, introduced with recent changes. --- apache2/msc_multipart.c | 12 ++++++------ apache2/msc_reqbody.c | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apache2/msc_multipart.c b/apache2/msc_multipart.c index b1ff5ea2..525e8574 100644 --- a/apache2/msc_multipart.c +++ b/apache2/msc_multipart.c @@ -546,6 +546,12 @@ int multipart_init(modsec_rec *msr, char **error_msg) { msr->mpd = (multipart_data *)apr_pcalloc(msr->mp, sizeof(multipart_data)); if (msr->mpd == NULL) return -1; + msr->mpd->parts = apr_array_make(msr->mp, 10, sizeof(multipart_part *)); + msr->mpd->bufleft = MULTIPART_BUF_SIZE; + msr->mpd->bufptr = msr->mpd->buf; + msr->mpd->buf_contains_line = 1; + msr->mpd->mpp = NULL; + if (msr->request_content_type == NULL) { *error_msg = apr_psprintf(msr->mp, "Multipart: Content-Type header not available."); return -1; @@ -581,12 +587,6 @@ int multipart_init(modsec_rec *msr, char **error_msg) { return -1; } - msr->mpd->parts = apr_array_make(msr->mp, 10, sizeof(multipart_part *)); - msr->mpd->bufleft = MULTIPART_BUF_SIZE; - msr->mpd->bufptr = msr->mpd->buf; - msr->mpd->buf_contains_line = 1; - msr->mpd->mpp = NULL; - return 1; } diff --git a/apache2/msc_reqbody.c b/apache2/msc_reqbody.c index f1586019..2d15f679 100644 --- a/apache2/msc_reqbody.c +++ b/apache2/msc_reqbody.c @@ -240,7 +240,7 @@ apr_status_t modsecurity_request_body_store(modsec_rec *msr, if (multipart_process_chunk(msr, data, length, &my_error_msg) < 0) { msr->msc_reqbody_error = 1; msr->msc_reqbody_error_msg = my_error_msg; - msr_log(msr, 4, "%s", my_error_msg); + msr_log(msr, 1, "Request body processor error: %s", my_error_msg); } } #ifdef WITH_LIBXML2 @@ -249,7 +249,7 @@ apr_status_t modsecurity_request_body_store(modsec_rec *msr, if (xml_process_chunk(msr, data, length, &my_error_msg) < 0) { msr->msc_reqbody_error = 1; msr->msc_reqbody_error_msg = my_error_msg; - msr_log(msr, 4, "%s", my_error_msg); + msr_log(msr, 4, "Request body processor error: %s", my_error_msg); } } #endif