SteamWar/SpigotCore
Archiviert
13
0

Fix NegativeArraySizeException in SWCommandUtils

Dieser Commit ist enthalten in:
yoyosource 2021-03-30 17:56:17 +02:00
Ursprung 25d72ab376
Commit fa9268ce1b
2 geänderte Dateien mit 2 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -103,7 +103,6 @@ public abstract class SWCommand {
}
if (!parameters[parameters.length - 1].isVarArgs()) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the varArgs parameters as last Argument");
return;
}
if (parameters[parameters.length - 1].getType().getComponentType() != String.class) {
Bukkit.getLogger().log(Level.WARNING, "The method '" + method.toString() + "' is lacking the varArgs parameters of type '" + String.class.getTypeName() + "' as last Argument");

Datei anzeigen

@ -115,7 +115,7 @@ public class SWCommandUtils {
arguments[arguments.length - 1] = varArgument;
} else {
for (int i = 0; i < parameters.length - (varArgType != null ? 1 : 0); i++) {
arguments[i + 1] = parameters[i].map(Arrays.copyOf(args, Math.min(index - 1, 0)), args[index]);
arguments[i + 1] = parameters[i].map(Arrays.copyOf(args, Math.max(index - 1, 0)), args[index]);
index++;
if (arguments[i + 1] == null) {
throw new CommandParseException();
@ -128,7 +128,7 @@ public class SWCommandUtils {
arguments[arguments.length - 1] = varArgument;
for (int i = 0; i < length; i++) {
Object value = parameters[parameters.length - 1].map(Arrays.copyOf(args, Math.min(index - 1, 0)), args[index]);
Object value = parameters[parameters.length - 1].map(Arrays.copyOf(args, Math.max(index - 1, 0)), args[index]);
if (value == null) {
throw new CommandParseException();
}