diff --git a/apache2/mod_security2.c b/apache2/mod_security2.c index 73e424e59..647fe20da 100644 --- a/apache2/mod_security2.c +++ b/apache2/mod_security2.c @@ -1664,7 +1664,11 @@ static void register_hooks(apr_pool_t *mp) { /* Add the MODSEC_a.b define */ *(char **)apr_array_push(ap_server_config_defines) = apr_psprintf(mp, "MODSEC_%s.%s", MODSEC_VERSION_MAJOR, MODSEC_VERSION_MINOR); - + *(char **)apr_array_push(ap_server_config_defines) = apr_pstrdup(mp, "MODSEC_AnalyseMultipartHeaders"); + *(char **)apr_array_push(ap_server_config_defines) = apr_pstrdup(mp, "MODSEC_ARGS_COMBINED_SIZE_NONAME"); +#ifndef WITH_PCRE + *(char **)apr_array_push(ap_server_config_defines) = apr_pstrdup(mp, "MODSEC_PCRE2"); +#endif #if (!defined(NO_MODSEC_API)) /* Export optional functions. */ APR_REGISTER_OPTIONAL_FN(modsec_register_tfn); diff --git a/apache2/msc_util.c b/apache2/msc_util.c index 471a98a80..e963ea4d2 100644 --- a/apache2/msc_util.c +++ b/apache2/msc_util.c @@ -2261,6 +2261,8 @@ char *construct_single_var(modsec_rec *msr, char *name) { msre_var *vx = NULL; char *my_error_msg = NULL; + if (msr->msc_rule_mptmp == NULL) return NULL; + /* Extract variable name and its parameter from the script. */ varname = apr_pstrdup(msr->mp, name); if (varname == NULL) return NULL;