diff --git a/apache2/msc_util.c b/apache2/msc_util.c index acc33e94..d15a5f73 100644 --- a/apache2/msc_util.c +++ b/apache2/msc_util.c @@ -448,9 +448,13 @@ char *log_escape_header_name(apr_pool_t *mp, const char *text) { } char *log_escape_raw(apr_pool_t *mp, const unsigned char *text, unsigned long int text_length) { - unsigned char *ret = apr_palloc(mp, text_length * 4 + 1); + unsigned char *ret; unsigned long int i, j; + if (text_length <= 0) return NULL; + + ret = apr_palloc(mp, text_length * 4 + 1); + for (i = 0, j = 0; i < text_length; i++, j += 4) { apr_snprintf((char *)ret+j, 5, "\\x%02x", text[i]); }