static void SMTP_TermCmds(SMTP_PROTO_CONF* config)
{
- for ( int i = 0; i <= config->num_cmds; ++i )
- snort_free(const_cast<char*>(config->cmds[i].name));
-
- snort_free(config->cmds);
- snort_free(config->cmd_config);
+ if (!config)
+ return;
+ if (config->cmds)
+ {
+ for ( int i = 0; i <= config->num_cmds; ++i )
+ snort_free(const_cast<char*>(config->cmds[i].name));
+ snort_free(config->cmds);
+ }
+ if (config->cmd_config)
+ snort_free(config->cmd_config);
}
static void SMTP_CommandSearchInit(SMTP_PROTO_CONF* config)
static void SMTP_CommandSearchTerm(SMTP_PROTO_CONF* config)
{
+ if (config->cmd_search == nullptr)
+ return;
snort_free(config->cmd_search);
delete config->cmd_search_mpse;
}
uint32_t xtra_ehdrs_id;
int num_cmds;
- SMTPToken* cmds;
- SMTPCmdConfig* cmd_config;
- SMTPSearch* cmd_search;
- snort::SearchTool* cmd_search_mpse;
+ SMTPToken* cmds = nullptr;
+ SMTPCmdConfig* cmd_config = nullptr;
+ SMTPSearch* cmd_search = nullptr;
+ snort::SearchTool* cmd_search_mpse = nullptr;
};
struct SmtpStats