Author: niallp
Date: Mon Oct  4 00:58:42 2010
New Revision: 1004077

URL: http://svn.apache.org/viewvc?rev=1004077&view=rev
Log:
Fix some issues identified by FindBugs

Modified:
    commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/NameFileFilter.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
    
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFilter.java
    
commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java 
(original)
+++ commons/proper/io/trunk/src/java/org/apache/commons/io/FilenameUtils.java 
Mon Oct  4 00:58:42 2010
@@ -1081,7 +1081,7 @@ public class FilenameUtils {
             boolean normalized, IOCase caseSensitivity) {
         
         if (filename1 == null || filename2 == null) {
-            return filename1 == filename2;
+            return (filename1 == null && filename2 == null);
         }
         if (normalized) {
             filename1 = normalize(filename1);

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/MagicNumberFileFilter.java
 Mon Oct  4 00:58:42 2010
@@ -209,7 +209,8 @@ public class MagicNumberFileFilter exten
             throw new IllegalArgumentException("The offset cannot be 
negative");
         }
         
-        this.magicNumbers = magicNumber;
+        this.magicNumbers = new byte[magicNumber.length];
+        System.arraycopy(magicNumber, 0, this.magicNumbers, 0, 
magicNumber.length);
         this.byteOffset = offset;
     }
     
@@ -237,7 +238,10 @@ public class MagicNumberFileFilter exten
                 byte[] fileBytes = new byte[this.magicNumbers.length]; 
                 randomAccessFile = new RandomAccessFile(file, "r");
                 randomAccessFile.seek(byteOffset);
-                randomAccessFile.read(fileBytes);
+                int read = randomAccessFile.read(fileBytes);
+                if (read != magicNumbers.length) {
+                    return false;
+                }
                 return Arrays.equals(this.magicNumbers, fileBytes);
             } catch (IOException ioe) {
                 // Do nothing, fall through and do not accept file

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/NameFileFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/NameFileFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/NameFileFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/NameFileFilter.java
 Mon Oct  4 00:58:42 2010
@@ -103,7 +103,8 @@ public class NameFileFilter extends Abst
         if (names == null) {
             throw new IllegalArgumentException("The array of names must not be 
null");
         }
-        this.names = names;
+        this.names = new String[names.length];
+        System.arraycopy(names, 0, this.names, 0, names.length);
         this.caseSensitivity = (caseSensitivity == null ? IOCase.SENSITIVE : 
caseSensitivity);
     }
 

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/PrefixFileFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
 Mon Oct  4 00:58:42 2010
@@ -108,7 +108,8 @@ public class PrefixFileFilter extends Ab
         if (prefixes == null) {
             throw new IllegalArgumentException("The array of prefixes must not 
be null");
         }
-        this.prefixes = prefixes;
+        this.prefixes = new String[prefixes.length];
+        System.arraycopy(prefixes, 0, this.prefixes, 0, prefixes.length);
         this.caseSensitivity = (caseSensitivity == null ? IOCase.SENSITIVE : 
caseSensitivity);
     }
 

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/SuffixFileFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
 Mon Oct  4 00:58:42 2010
@@ -109,7 +109,8 @@ public class SuffixFileFilter extends Ab
         if (suffixes == null) {
             throw new IllegalArgumentException("The array of suffixes must not 
be null");
         }
-        this.suffixes = suffixes;
+        this.suffixes = new String[suffixes.length];
+        System.arraycopy(suffixes, 0, this.suffixes, 0, suffixes.length);
         this.caseSensitivity = (caseSensitivity == null ? IOCase.SENSITIVE : 
caseSensitivity);
     }
 

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFileFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
 Mon Oct  4 00:58:42 2010
@@ -108,7 +108,8 @@ public class WildcardFileFilter extends 
         if (wildcards == null) {
             throw new IllegalArgumentException("The wildcard array must not be 
null");
         }
-        this.wildcards = wildcards;
+        this.wildcards = new String[wildcards.length];
+        System.arraycopy(wildcards, 0, this.wildcards, 0, wildcards.length);
         this.caseSensitivity = (caseSensitivity == null ? IOCase.SENSITIVE : 
caseSensitivity);
     }
 

Modified: 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFilter.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFilter.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFilter.java
 (original)
+++ 
commons/proper/io/trunk/src/java/org/apache/commons/io/filefilter/WildcardFilter.java
 Mon Oct  4 00:58:42 2010
@@ -79,7 +79,8 @@ public class WildcardFilter extends Abst
         if (wildcards == null) {
             throw new IllegalArgumentException("The wildcard array must not be 
null");
         }
-        this.wildcards = wildcards;
+        this.wildcards = new String[wildcards.length];
+        System.arraycopy(wildcards, 0, this.wildcards, 0, wildcards.length);
     }
 
     /**

Modified: 
commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java?rev=1004077&r1=1004076&r2=1004077&view=diff
==============================================================================
--- 
commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
 (original)
+++ 
commons/proper/io/trunk/src/test/org/apache/commons/io/filefilter/FileFilterTestCase.java
 Mon Oct  4 00:58:42 2010
@@ -942,6 +942,7 @@ public class FileFilterTestCase extends 
         
         File classFileA = new File(getTestDirectory(), "A.class");
         File xmlFileB = new File(getTestDirectory(), "B.xml");
+        File emptyFile = new File(getTestDirectory(), "C.xml");
         File dir = new File(getTestDirectory(), "D");
         dir.mkdirs();
         
@@ -951,17 +952,21 @@ public class FileFilterTestCase extends 
         classFileAStream.close();
         
         FileUtils.write(xmlFileB, xmlFileContent);
+        FileUtils.touch(emptyFile);
         
         IOFileFilter filter = new MagicNumberFileFilter(classFileMagicNumber);
         
         assertFiltering(filter, classFileA, true);
         assertFiltering(filter, xmlFileB, false);
+        assertFiltering(filter, emptyFile, false);
         assertFiltering(filter, dir, false);
         
+        
         filter = FileFilterUtils.magicNumberFileFilter(classFileMagicNumber);
         
         assertFiltering(filter, classFileA, true);
         assertFiltering(filter, xmlFileB, false);
+        assertFiltering(filter, emptyFile, false);
         assertFiltering(filter, dir, false);
     }
     


Reply via email to