]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
bug #451 fix for parsing address. Increase buffer size
authorAnoop Saldanha <poonaatsoc@gmail.com>
Fri, 4 May 2012 06:36:20 +0000 (12:06 +0530)
committerVictor Julien <victor@inliniac.net>
Wed, 16 May 2012 12:10:03 +0000 (14:10 +0200)
src/detect-engine-address.c
src/detect-engine-iponly.c

index 9291c20fa93356d14fc22f814ef3daee61dedbba..2a732358406d369e8f3af8b9d115405dc9c185ea 100644 (file)
@@ -919,7 +919,7 @@ int DetectAddressParse2(DetectAddressHead *gh, DetectAddressHead *ghn, char *s,
     int o_set = 0, n_set = 0, d_set = 0;
     int depth = 0;
     size_t size = strlen(s);
-    char address[1024] = "";
+    char address[8196] = "";
     char *rule_var_address = NULL;
     char *temp_rule_var_address = NULL;
 
@@ -995,7 +995,7 @@ int DetectAddressParse2(DetectAddressHead *gh, DetectAddressHead *ghn, char *s,
         } else if (depth == 0 && s[u] == '$') {
             d_set = 1;
         } else if (depth == 0 && u == size - 1) {
-            if (x == 1024) {
+            if (x == sizeof(address)) {
                 address[x - 1] = '\0';
             } else {
                 address[x] = '\0';
index ae4f3ba5171265c07ce433a70e041c1299d59407..7b9af5accaaa32cb56c9924774dddf7be743ccfc 100644 (file)
@@ -586,7 +586,7 @@ static IPOnlyCIDRItem *IPOnlyCIDRListParse2(char *s, int negate)
     int o_set = 0, n_set = 0, d_set = 0;
     int depth = 0;
     size_t size = strlen(s);
-    char address[1024] = "";
+    char address[8196] = "";
     char *rule_var_address = NULL;
     char *temp_rule_var_address = NULL;
     IPOnlyCIDRItem *head;
@@ -679,7 +679,7 @@ static IPOnlyCIDRItem *IPOnlyCIDRListParse2(char *s, int negate)
         } else if (depth == 0 && s[u] == '$') {
             d_set = 1;
         } else if (depth == 0 && u == size - 1) {
-            if (x == 1024) {
+            if (x == sizeof(address)) {
                 address[x - 1] = '\0';
             } else {
                 address[x] = '\0';