]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
flowbits: fix hang in flowbits 'or' parsing
authorVictor Julien <victor@inliniac.net>
Sat, 25 Apr 2020 12:25:29 +0000 (14:25 +0200)
committerVictor Julien <victor@inliniac.net>
Sat, 25 Apr 2020 12:40:25 +0000 (14:40 +0200)
src/detect-flowbits.c

index 6066ea04b65cb66f4e7271104342fcd5ec490b64..c1dca111d21fc0e90ca3dbb15fd9524242251e8b 100644 (file)
@@ -84,7 +84,7 @@ static int FlowbitOrAddData(DetectEngineCtx *de_ctx, DetectFlowbitsData *cd, cha
         while(isspace((unsigned char)*token))
             token++;
         if (*token == 0)
-            continue;
+            goto next;
         char *end = token + strlen(token) - 1;
         while(end > token && isspace((unsigned char)*end))
             *(end--) = '\0';
@@ -100,9 +100,9 @@ static int FlowbitOrAddData(DetectEngineCtx *de_ctx, DetectFlowbitsData *cd, cha
                        "maximum allowed: %d.", MAX_TOKENS);
             return -1;
         }
-        strarr[i] = token;
+        strarr[i++] = token;
+    next:
         arrptr = NULL;
-        i++;
     }
 
     cd->or_list_size = i;