mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-17 11:54:33 +01:00
hardening initial files load
This commit is contained in:
parent
f53239e60a
commit
b082406775
@ -32,20 +32,22 @@ import processing.app.helpers.filefilters.OnlyDirs;
|
||||
|
||||
public class TargetPackage {
|
||||
|
||||
String name;
|
||||
File folder;
|
||||
private final String name;
|
||||
|
||||
Map<String, TargetPlatform> platforms = new HashMap<String, TargetPlatform>();
|
||||
|
||||
public TargetPackage(String _name, File _folder) {
|
||||
name = _name;
|
||||
folder = _folder;
|
||||
public TargetPackage(String name, File folder) {
|
||||
this.name = name;
|
||||
|
||||
String[] platformsList = folder.list(new OnlyDirs());
|
||||
for (String platformName : platformsList) {
|
||||
File platformFolder = new File(folder, platformName);
|
||||
TargetPlatform platform = new TargetPlatform(platformName, platformFolder);
|
||||
platforms.put(platformName, platform);
|
||||
if (platformsList != null) {
|
||||
for (String platformName : platformsList) {
|
||||
File platformFolder = new File(folder, platformName);
|
||||
if (platformFolder.exists() && platformFolder.canRead()) {
|
||||
TargetPlatform platform = new TargetPlatform(platformName, platformFolder);
|
||||
platforms.put(platformName, platform);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ public class TargetPlatform {
|
||||
|
||||
try {
|
||||
File boardsFile = new File(_folder, "boards.txt");
|
||||
if (boardsFile.exists()) {
|
||||
if (boardsFile.exists() && boardsFile.canRead()) {
|
||||
PreferencesMap boardPreferences = new PreferencesMap();
|
||||
boardPreferences.load(boardsFile);
|
||||
boards = boardPreferences.createFirstLevelMap();
|
||||
@ -69,15 +69,16 @@ public class TargetPlatform {
|
||||
|
||||
try {
|
||||
File platformsFile = new File(_folder, "platform.txt");
|
||||
if (platformsFile.exists())
|
||||
if (platformsFile.exists() && platformsFile.canRead()) {
|
||||
preferences.load(platformsFile);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.err.println("Error loading platforms from platform.txt: " + e);
|
||||
}
|
||||
|
||||
try {
|
||||
File programmersFile = new File(_folder, "programmers.txt");
|
||||
if (programmersFile.exists()) {
|
||||
if (programmersFile.exists() && programmersFile.canRead()) {
|
||||
PreferencesMap prefs = new PreferencesMap();
|
||||
prefs.load(programmersFile);
|
||||
programmers = prefs.createFirstLevelMap();
|
||||
|
@ -50,7 +50,7 @@ public class PreferencesMap extends LinkedHashMap<String, String> {
|
||||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
public void load(File file) throws FileNotFoundException, IOException {
|
||||
public void load(File file) throws IOException {
|
||||
load(new FileInputStream(file));
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user