diff --git a/src/detect-dce-opnum.c b/src/detect-dce-opnum.c index b4f77ea69f..559550797e 100644 --- a/src/detect-dce-opnum.c +++ b/src/detect-dce-opnum.c @@ -142,6 +142,10 @@ static inline DetectDceOpnumData *DetectDceOpnumArgParse(const char *arg) char *comma_token = NULL; char *hyphen_token = NULL; + if (arg == NULL) { + goto error; + } + ret = pcre_exec(parse_regex, parse_regex_study, arg, strlen(arg), 0, 0, ov, MAX_SUBSTRINGS); if (ret < 2) { @@ -306,6 +310,12 @@ static int DetectDceOpnumSetup(DetectEngineCtx *de_ctx, Signature *s, char *arg) DetectDceOpnumData *dod = NULL; SigMatch *sm = NULL; + if (arg == NULL) { + SCLogError(SC_ERR_INVALID_SIGNATURE, "Error parsing dce_opnum option in " + "signature, option needs a value"); + goto error; + } + dod = DetectDceOpnumArgParse(arg); if (dod == NULL) { SCLogError(SC_ERR_INVALID_SIGNATURE, "Error parsing dce_opnum option in "