diff options
Diffstat (limited to 'package/snort/patches/patch-src_detection-plugins_sp_pattern_match_c')
-rw-r--r-- | package/snort/patches/patch-src_detection-plugins_sp_pattern_match_c | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/package/snort/patches/patch-src_detection-plugins_sp_pattern_match_c b/package/snort/patches/patch-src_detection-plugins_sp_pattern_match_c new file mode 100644 index 000000000..6c03a3417 --- /dev/null +++ b/package/snort/patches/patch-src_detection-plugins_sp_pattern_match_c @@ -0,0 +1,85 @@ +--- snort-2.8.5.1.orig/src/detection-plugins/sp_pattern_match.c 2009-08-10 22:41:44.000000000 +0200 ++++ snort-2.8.5.1/src/detection-plugins/sp_pattern_match.c 2009-12-27 17:24:45.000000000 +0100 +@@ -831,7 +831,7 @@ void PayloadSearchListInit(char *data, O + data++; + + /* grab everything between the starting " and the end one */ +- sptr = index(data, '"'); ++ sptr = strchr(data, '"'); + eptr = strrchr(data, '"'); + + if(sptr != NULL && eptr != NULL) +@@ -862,21 +862,21 @@ static char *PayloadExtractParameter(cha + char *quote_one = NULL, *quote_two = NULL; + char *comma = NULL; + +- quote_one = index(data, '"'); ++ quote_one = strchr(data, '"'); + if (quote_one) + { +- quote_two = index(quote_one+1, '"'); ++ quote_two = strchr(quote_one+1, '"'); + while ( quote_two && quote_two[-1] == '\\' ) +- quote_two = index(quote_two+1, '"'); ++ quote_two = strchr(quote_two+1, '"'); + } + + if (quote_one && quote_two) + { +- comma = index(quote_two, ','); ++ comma = strchr(quote_two, ','); + } + else if (!quote_one) + { +- comma = index(data, ','); ++ comma = strchr(data, ','); + } + + if (comma) +@@ -2016,7 +2016,7 @@ void ParsePattern(char *rule, OptTreeNod + PatternMatchData *ds_idx; + + /* clear out the temp buffer */ +- bzero(tmp_buf, MAX_PATTERN_SIZE); ++ memset(tmp_buf, 0, MAX_PATTERN_SIZE); + + if(rule == NULL) + { +@@ -2035,7 +2035,7 @@ void ParsePattern(char *rule, OptTreeNod + } + + /* find the start of the data */ +- start_ptr = index(rule, '"'); ++ start_ptr = strchr(rule, '"'); + + if(start_ptr != rule) + { +@@ -2089,7 +2089,7 @@ void ParsePattern(char *rule, OptTreeNod + dummy_end = (dummy_idx + size); + + /* why is this buffer so small? */ +- bzero(hex_buf, 3); ++ memset(hex_buf, 0, 3); + memset(hex_buf, '0', 2); + + /* BEGIN BAD JUJU..... */ +@@ -2204,7 +2204,7 @@ void ParsePattern(char *rule, OptTreeNod + strtol(hex_buf, (char **) NULL, 16)&0xFF; + + dummy_size++; +- bzero(hex_buf, 3); ++ memset(hex_buf, 0, 3); + memset(hex_buf, '0', 2); + } + else +@@ -2759,8 +2759,8 @@ static void ParseContentListFile(char *f + } + + /* clear the line and rule buffers */ +- bzero((char *) buf, STD_BUF); +- bzero((char *) rule_buf, STD_BUF); ++ memset((char *) buf, 0, STD_BUF); ++ memset((char *) rule_buf, 0, STD_BUF); + frazes_count = 0; + + /* loop thru each list_file line and content to the rule */ |