rule parsing: valid that input rule string is UTF8

Before parsing a rule string, validate that it is UTF-8 first.

Related Redmine issue:
https://redmine.openinfosecfoundation.org/issues/3850
pull/5376/head
Jason Ish 6 years ago committed by Victor Julien
parent e9fec043b5
commit cc2c7b731a

@ -1212,6 +1212,11 @@ static int SigParse(DetectEngineCtx *de_ctx, Signature *s,
{
SCEnter();
if (!rs_check_utf8(sigstr)) {
SCLogError(SC_ERR_RULE_INVALID_UTF8, "rule is not valid UTF-8");
SCReturnInt(-1);
}
s->sig_str = SCStrdup(sigstr);
if (unlikely(s->sig_str == NULL)) {
SCReturnInt(-1);

@ -376,6 +376,7 @@ const char * SCErrorToString(SCError err)
CASE_CODE (SC_WARN_PATH_READ_ERROR);
CASE_CODE (SC_ERR_PLUGIN);
CASE_CODE(SC_ERR_LOG_OUTPUT);
CASE_CODE(SC_ERR_RULE_INVALID_UTF8);
CASE_CODE (SC_ERR_MAX);
}

@ -366,6 +366,7 @@ typedef enum {
SC_ERR_HTTP2_LOG_GENERIC,
SC_ERR_PLUGIN,
SC_ERR_LOG_OUTPUT,
SC_ERR_RULE_INVALID_UTF8,
SC_ERR_MAX
} SCError;

Loading…
Cancel
Save