Snort mailing list archives
Replace calls index() <deprecated> with strchr() in Snort 2.9.5
From: Bill Parker <wp02855 () gmail com>
Date: Fri, 19 Jul 2013 12:08:22 -0700
Hello All, In reviewing various files in Snort-2.9.5, I found a number of instances where index() <deprecated> was used, and the patch files below replace calls to index() with strchr() <ANSI/ISO>. In directory 'snort-2.9.5/src/detection-plugins', file 'sp_ip_tos_check.c', the following patch file replaces calls to index() with strchr(): --- sp_ip_tos_check.c.orig 2013-07-18 12:27:51.397883953 -0700 +++ sp_ip_tos_check.c 2013-07-18 12:28:32.473881887 -0700 @@ -200,7 +200,7 @@ start = &data[0]; } - if(index(start, (int) 'x') == NULL && index(start, (int)'X') == NULL) + if(strchr(start, (int) 'x') == NULL && strchr(start, (int)'X') == NULL) { ds_ptr->ip_tos = (uint8_t)SnortStrtoulRange(start, &endTok, 10, 0, UINT8_MAX); if ((endTok == start) || (*endTok != '\0')) @@ -212,10 +212,10 @@ else { /* hex? */ - start = index(data,(int)'x'); + start = strchr(data,(int)'x'); if(!start) { - start = index(data,(int)'X'); + start = strchr(data,(int)'X'); } if (start) { In directory 'snort-2.9.5/src/detection-plugins', file 'sp_pattern_match.c', the following patch file replaces calls to index() with strchr() <this also contains a previous patch for converting bzero() calls to memset()>: --- sp_pattern_match.c.orig 2013-07-18 08:43:44.369888130 -0700 +++ sp_pattern_match.c 2013-07-18 12:33:24.026883058 -0700 @@ -1324,21 +1324,21 @@ 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) @@ -1471,7 +1471,7 @@ PatternMatchData *ds_idx; /* clear out the temp buffer */ - bzero(tmp_buf, MAX_PATTERN_SIZE); + memset(tmp_buf, '\0', MAX_PATTERN_SIZE); if (rule == NULL) ParseError("ParsePattern Got Null enclosed in quotation marks (\")!"); @@ -1486,7 +1486,7 @@ } /* find the start of the data */ - start_ptr = index(rule, '"'); + start_ptr = strchr(rule, '"'); if (start_ptr != rule) ParseError("Content data needs to be enclosed in quotation marks (\")!"); @@ -1530,8 +1530,7 @@ dummy_end = (dummy_idx + size); /* why is this buffer so small? */ - bzero(hex_buf, 3); - memset(hex_buf, '0', 2); + memset(hex_buf, '\0', 3); /* BEGIN BAD JUJU..... */ while(idx < end_ptr) @@ -1640,8 +1639,7 @@ strtol(hex_buf, (char **) NULL, 16)&0xFF; dummy_size++; - bzero(hex_buf, 3); - memset(hex_buf, '0', 2); + memset(hex_buf, '\0', 3); } else { @@ -2486,7 +2484,7 @@ data++; /* grab everything between the starting " and the end one */ - sptr = index(data, '"'); + sptr = strchr(data, '"'); eptr = strrchr(data, '"'); if(sptr != NULL && eptr != NULL) @@ -2545,8 +2543,8 @@ } /* 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 */ In directory 'snort-2.9.5/src/detection-plugins', file 'sp_tcp_win_check.c', the following patch file replaces calls to index() with strchr(): --- sp_tcp_win_check.c.orig 2013-07-18 12:36:11.167880131 -0700 +++ sp_tcp_win_check.c 2013-07-18 12:36:49.028881611 -0700 @@ -205,7 +205,7 @@ start = &data[0]; } - if(index(start, (int) 'x') == NULL && index(start, (int)'X') == NULL) + if(strchr(start, (int) 'x') == NULL && strchr(start, (int)'X') == NULL) { win_size = SnortStrtolRange(start, &endTok, 10, 0, UINT16_MAX); if ((endTok == start) || (*endTok != '\0')) @@ -217,10 +217,10 @@ else { /* hex? */ - start = index(data,(int)'x'); + start = strchr(data,(int)'x'); if(!start) { - start = index(data,(int)'X'); + start = strchr(data,(int)'X'); } if (start) { In directory 'snort-2.9.5/src/detection-plugins', file 'sp_replace.c', the following patch file replaces calls to index() with strchr() <this also contains a previous patch for converting bzero() calls to memset()>: --- sp_replace.c.orig 2013-07-18 08:48:41.818893728 -0700 +++ sp_replace.c 2013-07-18 12:38:44.570878841 -0700 @@ -111,7 +111,7 @@ file_name, file_line); } /* clear out the temp buffer */ - bzero(tmp_buf, MAX_PATTERN_SIZE); + memset(tmp_buf, '\0', MAX_PATTERN_SIZE); while(isspace((int)*rule)) rule++; @@ -122,7 +122,7 @@ } /* find the start of the data */ - start_ptr = index(rule, '"'); + start_ptr = strchr(rule, '"'); if(start_ptr == NULL) { @@ -163,8 +163,7 @@ dummy_end = (dummy_idx + size); /* why is this buffer so small? */ - bzero(hex_buf, 3); - memset(hex_buf, '0', 2); + memset(hex_buf, '\0', 3); /* BEGIN BAD JUJU..... */ while(idx < end_ptr) @@ -269,8 +268,7 @@ strtol(hex_buf, (char **) NULL, 16)&0xFF; dummy_size++; - bzero(hex_buf, 3); - memset(hex_buf, '0', 2); + memset(hex_buf, '\0', 3); } else { In directory 'snort-2.9.5/src/dynamic-preprocessors/sdf', file 'sdf_pattern_match.c', the following patch file replaces calls to index() with strchr(): --- sdf_pattern_match.c.orig 2013-07-18 12:40:51.368879507 -0700 +++ sdf_pattern_match.c 2013-07-18 12:41:17.518883291 -0700 @@ -82,7 +82,7 @@ return; /* Locate first '{' */ - bracket_index = index(*pii, '{'); + bracket_index = strchr(*pii, '{'); /* Brackets at the beginning have nothing to modify. */ if (bracket_index == *pii) @@ -97,7 +97,7 @@ /* Ignore escaped brackets */ if ((bracket_index > *pii) && (*(bracket_index-1) == '\\')) { - bracket_index = index(bracket_index+1, '{'); + bracket_index = strchr(bracket_index+1, '{'); continue; } @@ -133,7 +133,7 @@ num_brackets++; /* Next bracket */ - bracket_index = index(bracket_index+1, '{'); + bracket_index = strchr(bracket_index+1, '{'); } /* By this point, the brackets all match up. */ In directory 'snort-2.9.5/src/dynamic-preprocessors/ftptelnet', file 'pp_ftp.c', the following patch file replaces calls to index() with strchr(): --- pp_ftp.c.orig 2013-07-18 12:44:46.451880548 -0700 +++ pp_ftp.c 2013-07-18 12:45:04.336881624 -0700 @@ -358,7 +358,7 @@ strncpy(buf, tok, len); buf[len] = '\0'; } - s = index(buf, delim); + s = strchr(buf, delim); if ( s ) *s = '\0'; else *buf = '\0'; @@ -414,7 +414,7 @@ break; } /* advance to next field */ - tok = index(tok, delim); + tok = strchr(tok, delim); field++; } In directory 'snort-2.9.5/src/dynamic-preprocessors/ftptelnet', file 'snort_ftptelnet.c', the following patch file replaces calls to index() with strchr(): --- snort_ftptelnet.c.orig 2013-07-18 12:45:48.489881388 -0700 +++ snort_ftptelnet.c 2013-07-18 12:46:03.974880469 -0700 @@ -1915,7 +1915,7 @@ } else if ( *fmt == *F_LITERAL ) { - char* end = index(++fmt, *F_LITERAL); + char* end = strchr(++fmt, *F_LITERAL); int len = end ? end - fmt : 0; if ( len < 1 ) A 'make' and 'make install' results in a clean compile and installation of the above patch files for Snort-2.9.5 Here is a listing of the files in the archive: Archive: index-patches.zip Length Date Time Name --------- ---------- ----- ---- 775 07-18-2013 12:32 sp_ip_tos_check.c.patch 2597 07-18-2013 12:35 sp_pattern_match.c.patch 762 07-18-2013 12:38 sp_tcp_win_check.c.patch 900 07-18-2013 12:43 sdf_pattern_match.c.patch 484 07-18-2013 12:47 pp_ftp.c.patch 354 07-18-2013 12:46 snort_ftptelnet.c.patch 1003 07-18-2013 08:50 sp_replace.c.patch --------- ------- 6875 7 files I am attaching the patch files (as a zip archive) to this e-mail Bill Parker (wp02855 at gmail dot com)
Attachment:
index-patches.zip
Description:
------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________ Snort-devel mailing list Snort-devel () lists sourceforge net https://lists.sourceforge.net/lists/listinfo/snort-devel Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel Please visit http://blog.snort.org for the latest news about Snort!
Current thread:
- Replace calls index() <deprecated> with strchr() in Snort 2.9.5 Bill Parker (Jul 19)
- Re: Replace calls index() <deprecated> with strchr() in Snort 2.9.5 Joel Esler (Jul 19)