fix stream vars memory leak

This commit is contained in:
brenosilva
2011-12-05 17:01:51 +00:00
parent 1fda5caa0f
commit 790bb375ef
3 changed files with 52 additions and 28 deletions

View File

@@ -455,13 +455,12 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var,
msr->stream_output_length = size;
if(stream_output_data == NULL) {
free (msr->stream_output_data);
msr->stream_output_data = NULL;
return -1;
}
var->value_len = size;
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);
@@ -475,16 +474,15 @@ static int msre_op_rsub_execute(modsec_rec *msr, msre_rule *rule, msre_var *var,
msr->stream_input_length = size;
if(stream_input_data == NULL) {
free (msr->stream_input_data);
msr->stream_input_data = NULL;
return -1;
}
var->value_len = size;
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);
msr->if_stream_changed = 1;
}
if (! *error_msg) {