Skip to content

Commit abfeac0

Browse files
committed
Portability Flaw: Locale Dependent Comparison - Fortify
1 parent 85825c7 commit abfeac0

File tree

9 files changed

+21
-14
lines changed

9 files changed

+21
-14
lines changed

visualvm/charts/src/org/graalvm/visualvm/charts/xy/XYPainter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import java.awt.Polygon;
3333
import java.awt.Rectangle;
3434
import java.util.List;
35+
import java.util.Locale;
3536
import org.graalvm.visualvm.lib.charts.ChartContext;
3637
import org.graalvm.visualvm.lib.charts.ChartItem;
3738
import org.graalvm.visualvm.lib.charts.swing.LongRect;
@@ -57,7 +58,7 @@ public class XYPainter extends SynchronousXYItemPainter {
5758
// --- Initializer ---------------------------------------------------------
5859

5960
{
60-
String _mode = System.getProperty("visualvm.charts.defaultMode", "minmax").toLowerCase(); // NOI18N
61+
String _mode = System.getProperty("visualvm.charts.defaultMode", "minmax").toLowerCase(Locale.ENGLISH); // NOI18N
6162
if ("fast".equals(_mode)) { // NOI18N
6263
mode = 0;
6364
} else {

visualvm/heapviewer/src/org/graalvm/visualvm/heapviewer/oql/OQLQueries.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.nio.file.Files;
3838
import java.util.ArrayList;
3939
import java.util.List;
40+
import java.util.Locale;
4041
import javax.swing.BorderFactory;
4142
import javax.swing.Icon;
4243
import javax.swing.JComponent;
@@ -308,7 +309,7 @@ private void loadFromFile(final Handler handler) {
308309
chooser.setFileFilter(new FileFilter() {
309310
public boolean accept(File f) {
310311
if (f.isDirectory()) return true;
311-
String fname = f.getName().toLowerCase();
312+
String fname = f.getName().toLowerCase(Locale.ENGLISH);
312313
if (fname.endsWith(".oql") || fname.endsWith(".txt")) return true; // NOI18N
313314
return false;
314315
}
@@ -383,7 +384,7 @@ private void saveToFile(OQLSupport.Query query, String queryText, Handler handle
383384
chooser.setFileFilter(new FileFilter() {
384385
public boolean accept(File f) {
385386
if (f.isDirectory()) return true;
386-
String fname = f.getName().toLowerCase();
387+
String fname = f.getName().toLowerCase(Locale.ENGLISH);
387388
if (fname.endsWith(".oql") || fname.endsWith(".txt")) return true; // NOI18N
388389
return false;
389390
}
@@ -396,7 +397,7 @@ public String getDescription() {
396397
File file = chooser.getSelectedFile();
397398
lastDirectory = file.getParentFile();
398399

399-
String fname = file.getName().toLowerCase();
400+
String fname = file.getName().toLowerCase(Locale.ENGLISH);
400401
if (!fname.endsWith(".oql") && !fname.endsWith(".txt")) // NOI18N
401402
file = new File(file.getParentFile(), file.getName() + ".oql"); // NOI18N
402403

visualvm/libs.profiler/lib.profiler.ui/src/org/graalvm/visualvm/lib/ui/swing/ExportUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
import java.nio.charset.Charset;
5555
import java.nio.charset.CharsetEncoder;
5656
import java.text.MessageFormat;
57+
import java.util.Locale;
5758
import java.util.ResourceBundle;
5859
import java.util.concurrent.ExecutorService;
5960
import java.util.concurrent.Executors;
@@ -113,7 +114,7 @@ public FormatFilter(String name, String extension) {
113114
}
114115

115116
public boolean accept(File f) {
116-
return f.isDirectory() || f.getName().toLowerCase().endsWith(extension);
117+
return f.isDirectory() || f.getName().toLowerCase(Locale.ENGLISH).endsWith(extension);
117118
}
118119

119120
public String getDescription() {

visualvm/libs.profiler/lib.profiler.ui/src/org/graalvm/visualvm/lib/ui/swing/ProfilerTable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
import java.util.Enumeration;
6868
import java.util.HashSet;
6969
import java.util.List;
70+
import java.util.Locale;
7071
import java.util.Properties;
7172
import java.util.ResourceBundle;
7273
import java.util.Set;
@@ -1042,7 +1043,7 @@ protected void fireActionPerformed(ActionEvent e) {
10421043
TableColumn column = columns.get(col);
10431044
if (column.getWidth() > 0) {
10441045
String columnName = column.getHeaderValue().toString();
1045-
if (columnName.toLowerCase().startsWith("<html>")) columnName = columnName.replaceAll("<[^>]*>", ""); // NOI118N
1046+
if (columnName.toLowerCase(Locale.ENGLISH).startsWith("<html>")) columnName = columnName.replaceAll("<[^>]*>", ""); // NOI118N
10461047
copyItem.add(new JMenuItem(MessageFormat.format(genericItemName, columnName)) {
10471048
protected void fireActionPerformed(ActionEvent e) {
10481049
StringSelection s = new StringSelection(getStringValue(row, _col));

visualvm/libs.profiler/lib.profiler/src/org/graalvm/visualvm/lib/jfluid/classfile/ClassRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ public static void initClassPaths(String workingDir, String[] classPaths) {
427427
File extDir = new File((String) e.next());
428428
String[] extensions = extDir.list(new FilenameFilter() {
429429
public boolean accept(File dir, String name) {
430-
name = name.toLowerCase();
430+
name = name.toLowerCase(Locale.ENGLISH);
431431

432432
return name.endsWith(".zip") || name.endsWith(".jar"); // NOI18N
433433
}

visualvm/libs.profiler/lib.profiler/src/org/graalvm/visualvm/lib/jfluid/utils/FileOrZipEntry.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import java.io.FileInputStream;
4848
import java.io.IOException;
4949
import java.io.InputStream;
50+
import java.util.Locale;
5051
import java.util.zip.ZipEntry;
5152
import java.util.zip.ZipFile;
5253

@@ -72,7 +73,7 @@ public FileOrZipEntry(String dirOrJar, String fileName) {
7273
this.dirOrJar = dirOrJar;
7374
this.fileName = fileName;
7475

75-
String lcd = dirOrJar.toLowerCase();
76+
String lcd = dirOrJar.toLowerCase(Locale.ENGLISH);
7677
isZipEntry = (lcd.endsWith(".jar") || lcd.endsWith(".zip")); // NOI18N
7778
len = -1;
7879
}

visualvm/libs.profiler/lib.profiler/src/org/graalvm/visualvm/lib/jfluid/utils/MiscUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ public static List getPathComponents(String path, boolean doCheck, String workin
368368
}
369369

370370
private static void getClassPathFromManifest(String jarPath,List pathList) throws IOException, URISyntaxException {
371-
if (jarPath.toLowerCase().endsWith(".jar")) { // NOI18N
371+
if (jarPath.toLowerCase(Locale.ENGLISH).endsWith(".jar")) { // NOI18N
372372
File pathFile = new File(jarPath);
373373
JarFile jarFile = new JarFile(pathFile);
374374
Manifest manifest = jarFile.getManifest();
@@ -486,8 +486,8 @@ public static File checkFileForName(String name) throws IOException {
486486

487487
/** Checks if given directory is already listed on path */
488488
public static boolean containsDirectoryOnPath(String directory, String path) {
489-
String normalizedDirectory = new File(directory).getAbsolutePath().toLowerCase();
490-
String normalizedPath = new File(path).getAbsolutePath().toLowerCase();
489+
String normalizedDirectory = new File(directory).getAbsolutePath().toLowerCase(Locale.ENGLISH);
490+
String normalizedPath = new File(path).getAbsolutePath().toLowerCase(Locale.ENGLISH);
491491
List pathComponents = getPathComponents(normalizedPath, false, null);
492492

493493
for (int i = 0; i < pathComponents.size(); i++) {

visualvm/libs.profiler/profiler.heapwalker/src/org/graalvm/visualvm/lib/profiler/heapwalk/details/jdk/image/ImageExportAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import java.io.File;
4848
import java.io.IOException;
4949
import java.io.OutputStream;
50+
import java.util.Locale;
5051
import javax.imageio.ImageIO;
5152
import javax.swing.AbstractAction;
5253
import javax.swing.Action;
@@ -107,7 +108,7 @@ public void actionPerformed(ActionEvent e) {
107108
fileChooser.addChoosableFileFilter(new FileFilter() {
108109
@Override
109110
public boolean accept(File f) {
110-
return f.isDirectory() || f.getName().toLowerCase().endsWith("." + DEFAULT_EXPORT_TYPE);
111+
return f.isDirectory() || f.getName().toLowerCase(Locale.ENGLISH).endsWith("." + DEFAULT_EXPORT_TYPE);
111112
}
112113

113114
@Override

visualvm/libs.profiler/profiler.snaptracer/src/org/graalvm/visualvm/lib/profiler/snaptracer/impl/ExportSnapshotAction.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.awt.Component;
4545
import java.awt.event.ActionEvent;
4646
import java.io.File;
47+
import java.util.Locale;
4748
import javax.swing.AbstractAction;
4849
import javax.swing.Action;
4950
import javax.swing.JFileChooser;
@@ -115,7 +116,7 @@ public void run() {
115116
LAST_DIRECTORY = selected.getParent();
116117
}
117118
filename = selected.getName();
118-
if (!filename.toLowerCase().endsWith(NPSS_EXT)) {
119+
if (!filename.toLowerCase(Locale.ENGLISH).endsWith(NPSS_EXT)) {
119120
filename+=NPSS_EXT;
120121
selected = new File(selected.getParentFile(), filename);
121122
}
@@ -166,7 +167,7 @@ private static JFileChooser createFileChooser() {
166167
fileChooser.removeChoosableFileFilter(fileChooser.getAcceptAllFileFilter());
167168
fileChooser.addChoosableFileFilter(new FileFilter() {
168169
public boolean accept(File f) {
169-
return f.isDirectory() || f.getName().toLowerCase().endsWith(NPSS_EXT);
170+
return f.isDirectory() || f.getName().toLowerCase(Locale.ENGLISH).endsWith(NPSS_EXT);
170171
}
171172
public String getDescription() {
172173
return Bundle.ExportSnapshotAction_NpssFileFilter(NPSS_EXT);

0 commit comments

Comments
 (0)