From be4cd4101f5c09aabd70177c7098f8af3e139afb Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Mon, 2 Aug 2021 18:28:22 -0700 Subject: [PATCH] core: Don't parse empty input strings in FlagArgument parser --- .../arguments/compound/FlagArgument.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java index f8077425..c02f8f9c 100644 --- a/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java +++ b/cloud-core/src/main/java/cloud/commandframework/arguments/compound/FlagArgument.java @@ -428,6 +428,15 @@ public final class FlagArgument extends CommandArgument { this.currentFlagBeingParsed = Optional.of(currentFlag); this.currentFlagNameBeingParsed = Optional.of(currentFlagName); + // Don't attempt to parse empty strings + if (inputQueue.peek().isEmpty()) { + return ArgumentParseResult.failure(new FlagParseException( + currentFlag.getName(), + FailureReason.MISSING_ARGUMENT, + commandContext + )); + } + final ArgumentParseResult result = ((CommandArgument) currentFlag.getCommandArgument()) .getParser()