Skip to content

Commit 6a1c1f4

Browse files
committed
Invalid use of toString in Optional<Version>
It should be used on the actual Version. Fix #8034
1 parent d3cb014 commit 6a1c1f4

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

app/src/processing/app/Base.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
import java.util.stream.Collectors;
7575
import java.util.stream.Stream;
7676

77+
import static processing.app.I18n.format;
7778
import static processing.app.I18n.tr;
7879

7980

@@ -307,9 +308,13 @@ public Base(String[] args) throws Exception {
307308
String[] boardToInstallParts = parser.getBoardToInstall().split(":");
308309

309310
ContributedPlatform selected = null;
310-
if (boardToInstallParts.length == 3 && VersionHelper.valueOf(boardToInstallParts[2]).isPresent()) {
311-
Version vs = VersionHelper.valueOf(boardToInstallParts[2]).get();
312-
selected = indexer.getIndex().findPlatform(boardToInstallParts[0], boardToInstallParts[1], vs.toString());
311+
if (boardToInstallParts.length == 3) {
312+
Optional<Version> version = VersionHelper.valueOf(boardToInstallParts[2]);
313+
if (!version.isPresent()) {
314+
System.out.println(format(tr("Invalid version {0}"), boardToInstallParts[2]));
315+
System.exit(1);
316+
}
317+
selected = indexer.getIndex().findPlatform(boardToInstallParts[0], boardToInstallParts[1], version.get().toString());
313318
} else if (boardToInstallParts.length == 2) {
314319
List<ContributedPlatform> platformsByName = indexer.getIndex().findPlatforms(boardToInstallParts[0], boardToInstallParts[1]);
315320
Collections.sort(platformsByName, new DownloadableContributionVersionComparator());
@@ -350,7 +355,12 @@ public Base(String[] args) throws Exception {
350355

351356
ContributedLibrary selected = null;
352357
if (libraryToInstallParts.length == 2) {
353-
selected = indexer.getIndex().find(libraryToInstallParts[0], VersionHelper.valueOf(libraryToInstallParts[1]).toString());
358+
Optional<Version> version = VersionHelper.valueOf(libraryToInstallParts[1]);
359+
if (!version.isPresent()) {
360+
System.out.println(format(tr("Invalid version {0}"), libraryToInstallParts[1]));
361+
System.exit(1);
362+
}
363+
selected = indexer.getIndex().find(libraryToInstallParts[0], version.get().toString());
354364
} else if (libraryToInstallParts.length == 1) {
355365
List<ContributedLibrary> librariesByName = indexer.getIndex().find(libraryToInstallParts[0]);
356366
Collections.sort(librariesByName, new DownloadableContributionVersionComparator());

0 commit comments

Comments
 (0)