From ca8ec55c7b4365ce3b0c083fbbc40839aa4c68f4 Mon Sep 17 00:00:00 2001 From: brenosilva Date: Sun, 22 Jan 2012 16:17:21 +0000 Subject: [PATCH] MODSEC-284 --- apache2/re_operators.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apache2/re_operators.c b/apache2/re_operators.c index 3d499b41..0a15e11d 100644 --- a/apache2/re_operators.c +++ b/apache2/re_operators.c @@ -464,8 +464,10 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, msr->of_stream_changed = 1; msr->stream_output_data = (char *)stream_output_data; - if(msr->stream_output_data != NULL) - apr_cpystrn(msr->stream_output_data, data, size); + if(msr->stream_output_data != NULL) { + strncpy(msr->stream_output_data, data, size); + msr->stream_output_data[size] = '\0'; + } } @@ -485,8 +487,10 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var, msr->if_stream_changed = 1; msr->stream_input_data = (char *)stream_input_data; - if(msr->stream_input_data != NULL) - apr_cpystrn(msr->stream_input_data, data, size); + if(msr->stream_input_data != NULL) { + strncpy(msr->stream_input_data, data, size); + msr->stream_input_data[size] = '\0'; + } } if (! *error_msg) {