mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
Fixes for Parfait errors - mostly unhandled NULL pointer dereference and data type mismatch
This commit is contained in:
parent
5f996d45f0
commit
62a6f228f8
@ -1038,7 +1038,7 @@ static void hook_error_log(const char *file, int line, int level, apr_status_t s
|
|||||||
#else
|
#else
|
||||||
msr = create_tx_context((request_rec *)r);
|
msr = create_tx_context((request_rec *)r);
|
||||||
#endif
|
#endif
|
||||||
if (msr->txcfg->debuglog_level >= 9) {
|
if (msr != NULL && msr->txcfg->debuglog_level >= 9) {
|
||||||
if (msr == NULL) {
|
if (msr == NULL) {
|
||||||
msr_log(msr, 9, "Failed to create context after request failure.");
|
msr_log(msr, 9, "Failed to create context after request failure.");
|
||||||
}
|
}
|
||||||
|
@ -1340,6 +1340,10 @@ msre_actionset *msre_actionset_create_default(msre_engine *engine) {
|
|||||||
* Sets the default values for the hard-coded actionset configuration.
|
* Sets the default values for the hard-coded actionset configuration.
|
||||||
*/
|
*/
|
||||||
void msre_actionset_set_defaults(msre_actionset *actionset) {
|
void msre_actionset_set_defaults(msre_actionset *actionset) {
|
||||||
|
|
||||||
|
if (actionset == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
/* Metadata */
|
/* Metadata */
|
||||||
if (actionset->id == NOT_SET_P) actionset->id = NULL;
|
if (actionset->id == NOT_SET_P) actionset->id = NULL;
|
||||||
if (actionset->rev == NOT_SET_P) actionset->rev = NULL;
|
if (actionset->rev == NOT_SET_P) actionset->rev = NULL;
|
||||||
|
@ -1470,7 +1470,7 @@ static apr_status_t msre_action_setenv_execute(modsec_rec *msr, apr_pool_t *mptm
|
|||||||
env_name = log_escape_nq_ex(msr->mp, env->value, env->value_len);
|
env_name = log_escape_nq_ex(msr->mp, env->value, env->value_len);
|
||||||
|
|
||||||
/* Execute the requested action. */
|
/* Execute the requested action. */
|
||||||
if (env_name[0] == '!') {
|
if (env_name != NULL && env_name[0] == '!') {
|
||||||
/* Delete */
|
/* Delete */
|
||||||
apr_table_unset(msr->r->subprocess_env, env_name + 1);
|
apr_table_unset(msr->r->subprocess_env, env_name + 1);
|
||||||
|
|
||||||
@ -1532,7 +1532,7 @@ apr_status_t msre_action_setvar_execute(modsec_rec *msr, apr_pool_t *mptmp,
|
|||||||
var_name = log_escape_nq_ex(msr->mp, var->value, var->value_len);
|
var_name = log_escape_nq_ex(msr->mp, var->value, var->value_len);
|
||||||
|
|
||||||
/* Handle the exclamation mark. */
|
/* Handle the exclamation mark. */
|
||||||
if (var_name[0] == '!') {
|
if (var_name != NULL && var_name[0] == '!') {
|
||||||
var_name = var_name + 1;
|
var_name = var_name + 1;
|
||||||
is_negated = 1;
|
is_negated = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user