CoverityFix CID:1350852 Dubious method used 98/20398/1
Nimish Kapoor [Tue, 31 Jul 2018 16:41:30 +0000 (21:41 +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: I889514e4b36095b5911e2a0fc331f46603aa2b3d

scilab/modules/helptools/src/java/org/scilab/modules/helptools/image/ScilabImageConverter.java

index 1941bb1..8dea4cf 100644 (file)
@@ -21,6 +21,8 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.FileInputStream;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.util.Map;
@@ -93,7 +95,7 @@ public class ScilabImageConverter implements ExternalImageConverter {
      * {@inheritDoc}
      */
     public String convertToImage(File code, Map<String, String> attributes, File imageFile, String imageName) {
-        try (BufferedReader in = new BufferedReader(new FileReader(code))) {
+        try (BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(code), "UTF-8"))) {
             StringBuilder buffer = new StringBuilder(8192);
             String line;