From 45b7706f1f7a5f2c370bfe08e0fa74b5b8580f9d Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Tue, 11 Apr 2017 10:01:30 -0300 Subject: [PATCH] Adds sanity check before print action message in the logs This is a sanity check on top of #1379 --- apache2/re.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apache2/re.c b/apache2/re.c index e7014bf8..46def9e4 100644 --- a/apache2/re.c +++ b/apache2/re.c @@ -1889,8 +1889,11 @@ static apr_status_t msre_ruleset_process_phase_(msre_ruleset *ruleset, modsec_re } } else if (rc < 0) { - msr_log(msr, 1, "Rule processing failed (id=%s, msg=%s).", rule->actionset->id, rule->actionset->msg); - + if (rule->actionset != NULL && rule->actionset->msg != NULL) { + msr_log(msr, 1, "Rule processing failed (id=%s, msg=%s).", rule->actionset->id, rule->actionset->msg); + } else { + msr_log(msr, 1, "Rule processing failed."); + } if (msr->txcfg->reqintercept_oe == 1) { apr_table_clear(msr->matched_vars); @@ -1920,7 +1923,11 @@ static apr_status_t msre_ruleset_process_phase_(msre_ruleset *ruleset, modsec_re } } else { - msr_log(msr, 1, "Rule processing failed with unknown return code: %d (id=%s, msg=%s).", rc, rule->actionset->id, rule->actionset->msg); + if (rule->actionset != NULL && rule->actionset->msg != NULL) { + msr_log(msr, 1, "Rule processing failed with unknown return code: %d (id=%s, msg=%s).", rc, rule->actionset->id, rule->actionset->msg); + } else { + msr_log(msr, 1, "Rule processing failed with unknown return code: %d", rc); + } apr_table_clear(msr->matched_vars); return -1; }