java/src/org/openantivirus/engine ScanEngine.java,1.5,1.6

Kurt Huwig <[email protected]> Thu, 20 May 2004 13:43:20 +0000
Newsgroups gmane.comp.security.virus.openantivirus.cvs
Message-ID <[email protected]>
Update of /cvsroot/openantivirus/java/src/org/openantivirus/engine
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13262/src/org/openantivirus/engine

Modified Files:
	ScanEngine.java 
Log Message:
Bugfix: ScanEngine was not thread safe

Index: ScanEngine.java
===================================================================
RCS file: /cvsroot/openantivirus/java/src/org/openantivirus/engine/ScanEngine.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ScanEngine.java	20 May 2004 13:19:45 -0000	1.5
+++ ScanEngine.java	20 May 2004 13:43:17 -0000	1.6
@@ -50,7 +50,7 @@
                 new DirectoryContainerFactory(),
                 new CompressedContainerFactory()};
 
-    private final Censor[] censors;
+    private final CensorFactory[] censorFactories;
 
     private final List scanListeners = new LinkedList();
     private final ScanConfiguration scanConfiguration;
@@ -78,7 +78,7 @@
                 scanConfiguration.getString("credo.directory")));
         
         stringSearch.prepare();
-        censors = new Censor[] {stringSearch.getCensor()};
+        censorFactories = new CensorFactory[] {stringSearch};
         System.gc();
     }
     
@@ -121,9 +121,10 @@
                 return;
             }
 
-            for (int i = 0; i < censors.length; i++) {
+            for (int i = 0; i < censorFactories.length; i++) {
                 try {
-                    final int result = censors[i].censor(entry);
+                    final int result =
+                        censorFactories[i].createCensor().censor(entry);
     
                     if (result == Censor.ENTRY_CLEAN) {
                         return;



-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click