Skip to content

Commit 8dd14db

Browse files
damien-vidalmickaelistria
authored andcommitted
Avoid exception and infinite loop in case of incorrect compiler args
1 parent ad7c364 commit 8dd14db

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

org.eclipse.m2e.jdt/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %Bundle-Name
44
Bundle-SymbolicName: org.eclipse.m2e.jdt;singleton:=true
5-
Bundle-Version: 2.3.2.qualifier
5+
Bundle-Version: 2.3.3.qualifier
66
Bundle-Localization: plugin
77
Export-Package: org.eclipse.m2e.jdt,
88
org.eclipse.m2e.jdt.internal;x-friends:="org.eclipse.m2e.jdt.ui",

org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/ModuleSupport.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,9 +523,13 @@ protected static Optional<JpmsArgs> computeFromArgs(List<String> args) {
523523
}
524524

525525
String value = null;
526+
boolean isNextArg = false;
526527
if(argType.getArgumentName().equalsIgnoreCase(argumentName)) {
527528
// full argument match
528-
value = it.next();
529+
if(it.hasNext()) {
530+
value = it.next();
531+
isNextArg = true;
532+
}
529533
} else {
530534
// argument with delimiter match
531535
String argumentWithDelimiter = argType.getArgumentName().toLowerCase() + JpmsArgType.argumentDelimiter;
@@ -536,7 +540,9 @@ protected static Optional<JpmsArgs> computeFromArgs(List<String> args) {
536540
JpmsArgValue argValue = argType.parse(value);
537541

538542
if(argValue == null) {
539-
it.previous();
543+
if(isNextArg) {
544+
it.previous();
545+
}
540546
continue;
541547
}
542548

0 commit comments

Comments
 (0)