From 4ae9a91d7749b916d8982aa8c387432162ec2a17 Mon Sep 17 00:00:00 2001 From: brenosilva Date: Wed, 20 Apr 2011 21:26:54 +0000 Subject: [PATCH] Only change stream var->value if we have the realloced buffer --- apache2/re_operators.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apache2/re_operators.c b/apache2/re_operators.c index 8d69b147..67fcc44b 100644 --- a/apache2/re_operators.c +++ b/apache2/re_operators.c @@ -428,8 +428,6 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, size -= (((AP_MAX_REG_MATCH - count)*(strlen(replace))) + p_len+2); - var->value_len = size; - if(msr->stream_output_data != NULL && output_body == 1) { char *stream_output_data = NULL; @@ -443,6 +441,7 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, return -1; } + var->value_len = size; msr->stream_output_data = (char *)stream_output_data; if(msr->stream_output_data != NULL) apr_cpystrn(msr->stream_output_data, data, size); @@ -461,6 +460,7 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, return -1; } + var->value_len = size; msr->stream_input_data = (char *)stream_input_data; if(msr->stream_input_data != NULL) apr_cpystrn(msr->stream_input_data, data, size);