]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rule analyzer: fix fast pattern analyzer reporting wrong filename (same as rule analy...
authorVictor Julien <victor@inliniac.net>
Fri, 17 Aug 2012 08:43:45 +0000 (10:43 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 17 Aug 2012 08:43:45 +0000 (10:43 +0200)
src/detect-engine-analyzer.c
src/detect-engine-analyzer.h
src/detect.c

index 3f4776e075ab63d87d1c14a7d930a1a35233f4ce..2fd4ee76a8b67e28f931ad7d7fd35f68b3cb1909 100644 (file)
@@ -36,13 +36,14 @@ static int rule_warnings_only = 0;
 static FILE *rule_engine_analysis_FD = NULL;
 static pcre *percent_re = NULL;
 static pcre_extra *percent_re_study = NULL;
+static char log_path[PATH_MAX];
 
 /**
  * \brief Sets up the rule analyzer according to the config
  * \retval 1 if rule analyzer successfully enabled
  * \retval 0 if not enabled
  */
-int SetupRuleAnalyzer(char *log_path)
+int SetupRuleAnalyzer(void)
 {
     ConfNode *conf = ConfGetNode("engine-analysis");
     int enabled = 0;
@@ -58,10 +59,10 @@ int SetupRuleAnalyzer(char *log_path)
             char *log_dir;
             if (ConfGet("default-log-dir", &log_dir) != 1)
                 log_dir = DEFAULT_LOG_DIR;
-            snprintf(log_path, 256, "%s/%s", log_dir, "rules_analysis.txt");
+            snprintf(log_path, sizeof(log_path), "%s/%s", log_dir, "rules_analysis.txt");
             rule_engine_analysis_FD = fopen(log_path, "w");
             if (rule_engine_analysis_FD == NULL) {
-                SCLogError(SC_ERR_FOPEN, "ERROR: failed to open %s: %s", log_path, strerror(errno));
+                SCLogError(SC_ERR_FOPEN, "failed to open %s: %s", log_path, strerror(errno));
                 return 0;
             }
 
@@ -96,7 +97,7 @@ int SetupRuleAnalyzer(char *log_path)
     return 1;
 }
 
-void CleanupRuleAnalyzer(char *log_path) {
+void CleanupRuleAnalyzer(void) {
     if (rule_engine_analysis_FD != NULL) {
          SCLogInfo("Engine-Analyis for rules printed to file - %s", log_path);
         fclose(rule_engine_analysis_FD);
index f3941767a1fd18fbe4c9eeaa4a73e76217f0701f..93e491609a743243b7f77c0c2ec4b9e22748a845 100644 (file)
@@ -26,8 +26,8 @@
 
 #include <stdint.h>
 
-int SetupRuleAnalyzer(char *log_path);
-void CleanupRuleAnalyzer (char *log_path);
+int SetupRuleAnalyzer(void);
+void CleanupRuleAnalyzer (void);
 int PerCentEncodingSetup ();
 int PerCentEncodingMatch (uint8_t *content, uint8_t content_len);
 void EngineAnalysisRules(Signature *s, char *line);
index 122e4721b90414eb0cd2da14c1426582b5cdc6dc..f577b80514632ad1f6af768dbd08545835e5e0ac 100644 (file)
@@ -596,7 +596,7 @@ int SigLoadSignatures(DetectEngineCtx *de_ctx, char *sig_file, int sig_file_excl
     char *sfile = NULL;
 
     /* needed by engine_analysis */
-    char log_path[256];
+    char log_path[PATH_MAX];
 
     if (engine_analysis) {
         if ((ConfGetBool("engine-analysis.rules-fast-pattern",
@@ -610,11 +610,11 @@ int SigLoadSignatures(DetectEngineCtx *de_ctx, char *sig_file, int sig_file_excl
             char *log_dir;
             if (ConfGet("default-log-dir", &log_dir) != 1)
                 log_dir = DEFAULT_LOG_DIR;
-            snprintf(log_path, 256, "%s/%s", log_dir, "rules_fast_pattern.txt");
+            snprintf(log_path, sizeof(log_path), "%s/%s", log_dir, "rules_fast_pattern.txt");
 
             fp_engine_analysis_FD = fopen(log_path, "w");
             if (fp_engine_analysis_FD == NULL) {
-                SCLogError(SC_ERR_FOPEN, "ERROR: failed to open %s: %s", log_path,
+                SCLogError(SC_ERR_FOPEN, "failed to open %s: %s", log_path,
                            strerror(errno));
                 return -1;
             }
@@ -635,7 +635,7 @@ int SigLoadSignatures(DetectEngineCtx *de_ctx, char *sig_file, int sig_file_excl
         else {
             SCLogInfo("Engine-Analysis for fast_pattern disabled in conf file.");
         }
-        rule_engine_analysis_set = SetupRuleAnalyzer(log_path);
+        rule_engine_analysis_set = SetupRuleAnalyzer();
     }
 
     /* ok, let's load signature files from the general config */
@@ -735,7 +735,7 @@ int SigLoadSignatures(DetectEngineCtx *de_ctx, char *sig_file, int sig_file_excl
             }
         }
         if (rule_engine_analysis_set) {
-            CleanupRuleAnalyzer(log_path);
+            CleanupRuleAnalyzer();
         }
     }