]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Still not dealing with pcre correctly.
authorChris Porter <redacted>
Mon, 1 May 2006 21:53:00 +0000 (22:53 +0100)
committerChris Porter <redacted>
Mon, 1 May 2006 21:53:00 +0000 (22:53 +0100)
trojanscan/trojanscan.c
trojanscan/trojanscan.h

index 6a43dcbba83770a9efa13565ac199f4d8a21a42d..577b2b28601f5adc7eed9584c24269d100ef9d58 100644 (file)
@@ -260,10 +260,10 @@ void trojanscan_free_database(void) {
     freesstring(trojanscan_database.channels[i].name);
   free(trojanscan_database.channels);
   for(i=0;i<trojanscan_database.total_phrases;i++)
-    if (trojanscan_database.phrases[i].phrase) {
-      free(trojanscan_database.phrases[i].phrase);
-      free(trojanscan_database.phrases[i].hint);
-    }
+    if (trojanscan_database.phrases[i].phrase)
+      pcre_free(trojanscan_database.phrases[i].phrase);
+    if (trojanscan_database.phrases[i].hint)
+      pcre_free(trojanscan_database.phrases[i].hint);
   free(trojanscan_database.phrases);
   for(i=0;i<trojanscan_database.total_worms;i++)
     freesstring(trojanscan_database.worms[i].name);
@@ -441,9 +441,10 @@ void trojanscan_read_database(int first_time) {
             if (!(trojanscan_database.phrases[i].phrase = pcre_compile(sqlrow[1], PCRE_CASELESS, &error, &erroroffset, NULL))) {
               Error("trojanscan", ERR_WARNING, "Error compiling expression %s at offset %d: %s", sqlrow[1], erroroffset, error);
             } else {
-              if ((trojanscan_database.phrases[i].hint = pcre_study(trojanscan_database.phrases[i].phrase, 0, &error))) {
+              trojanscan_database.phrases[i].hint = pcre_study(trojanscan_database.phrases[i].phrase, 0, &error);
+              if (error) {
                 Error("trojanscan", ERR_WARNING, "Error studying expression %s: %s", sqlrow[1], error);
-                free(trojanscan_database.phrases[i].phrase);
+                pcre_free(trojanscan_database.phrases[i].phrase);
                 trojanscan_database.phrases[i].phrase = NULL;
               }
             }
index 56ed5f1ba492a642683c19a46e8aa6e3a5a5d630..b5439d666db29f99059d578091b7e5f30088c848 100644 (file)
@@ -18,7 +18,7 @@
 #include <ctype.h>
 #include <strings.h>
 
-#define TROJANSCAN_VERSION "2.59"
+#define TROJANSCAN_VERSION "2.61"
 
 #define TROJANSCAN_MAX_HOST_GLINE   5