diff --git a/CHANGES b/CHANGES index ca265d31..b7317995 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ ?? ??? 2007 - 2.5.0-dev3 ------------------------ + * Fixed potential corruption at end of strings after using base64Decode + (APR-Util issue). TODO make a better CHANGELOG entry ;) + * Return from the output filter with an error in addition to setting up the HTTP error status in the output data. diff --git a/apache2/re_tfns.c b/apache2/re_tfns.c index 97a4664b..be0d5711 100644 --- a/apache2/re_tfns.c +++ b/apache2/re_tfns.c @@ -311,8 +311,7 @@ static int msre_fn_base64Decode_execute(apr_pool_t *mptmp, unsigned char *input, { *rval_len = apr_base64_decode_len((const char *)input); /* returns len with NULL byte included */ *rval = apr_palloc(mptmp, *rval_len); - apr_base64_decode(*rval, (const char *)input); - (*rval_len)--; + *rval_len = apr_base64_decode(*rval, (const char *)input); return 1; }