CoverityFix CID:1350870 Dubious method used 03/20403/2
Nimish Kapoor [Tue, 31 Jul 2018 18:04:38 +0000 (23:04 +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: I9f471dc8e0e7f029b6608bcdbb949712d11f88e2

scilab/modules/xcos/src/java/org/scilab/modules/xcos/modelica/Modelica.java

index 09a84f4..7d66993 100644 (file)
@@ -23,6 +23,9 @@ import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.StringWriter;
+import java.io.OutputStreamWriter;
+import java.io.FileOutputStream;
+import java.io.Writer;
 import java.nio.charset.Charset;
 import java.util.logging.Logger;
 import java.util.regex.Matcher;
@@ -168,7 +171,7 @@ public final class Modelica {
             }
             buffer.append(newline);
 
-            try (FileWriter fw = new FileWriter(file)) {
+            try (Writer fw =  new OutputStreamWriter(new FileOutputStream(file), "UTF-8")) {
                 fw.append(buffer);
             }
         } catch (FactoryConfigurationError | IOException e) {