]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect-dce-opnum: add sanity check
authorEric Leblond <eric@regit.org>
Wed, 15 Oct 2014 17:38:20 +0000 (19:38 +0200)
committerVictor Julien <victor@inliniac.net>
Mon, 20 Oct 2014 06:00:46 +0000 (08:00 +0200)
Specifying the option dce_opnum without value was triggering a
segfault.

src/detect-dce-opnum.c

index b4f77ea69f06488865bdcc6d949c64ca01c83295..559550797edeb4a57d9a9d01f20cf23094781d55 100644 (file)
@@ -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 "