CoverityFix CID:1350864 Dubious method used 96/20396/2
Nimish Kapoor [Tue, 31 Jul 2018 16:05:02 +0000 (21:05 +0530)]
Found a call to a method which will perform a byte to String (or String to
byte) conversion, and will assume that the default platform encoding is
suitable. This will cause the application behaviour to vary between
platforms. Use an alternative API and specify a charset name or Charset
object explicitly.
https://stackoverflow.com/questions/696626/java-filereader-encoding-issue

Change-Id: I65818a4dff4433291c95af4e7f63a1717ee32d83

scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SearchManager.java

index 19429fc..58b6dcd 100644 (file)
@@ -21,6 +21,8 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.FilenameFilter;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.FileInputStream;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -402,7 +404,7 @@ public class SearchManager {
      * @return true if it is a binary file
      */
     public static boolean isBinaryFile(File f) {
-        try ( BufferedReader reader = new BufferedReader(new FileReader(f)) ) {
+        try ( BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(f), "UTF-8")) ) {
             char[] buffer = new char[8192];
             int len = reader.read(buffer, 0, 8192);