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