diff --git a/WHATSNEW b/WHATSNEW index d7b673393..e9da6dd0d 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -37,6 +37,10 @@ Fixed bugs: Java bytecode version 53 now. Bug reported by Simon IJskes https://issues.apache.org/jira/browse/NETBEANS-781 + * Default and SecureInputHandler will now raise an error when then + end of the inout stream (usually System.in or System.console) are + reached before a valid input has been read. + Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/input/DefaultInputHandler.java b/src/main/org/apache/tools/ant/input/DefaultInputHandler.java index 164505f6d..fa6822327 100644 --- a/src/main/org/apache/tools/ant/input/DefaultInputHandler.java +++ b/src/main/org/apache/tools/ant/input/DefaultInputHandler.java @@ -56,6 +56,9 @@ public class DefaultInputHandler implements InputHandler { System.err.flush(); try { String input = r.readLine(); + if (input == null) { + throw new BuildException("unexpected end of stream while reading input"); + } request.setInput(input); } catch (IOException e) { throw new BuildException("Failed to read input from" diff --git a/src/main/org/apache/tools/ant/input/SecureInputHandler.java b/src/main/org/apache/tools/ant/input/SecureInputHandler.java index 878a01dbe..7ae2dbcf7 100644 --- a/src/main/org/apache/tools/ant/input/SecureInputHandler.java +++ b/src/main/org/apache/tools/ant/input/SecureInputHandler.java @@ -43,6 +43,9 @@ public class SecureInputHandler extends DefaultInputHandler { String prompt = getPrompt(request); do { char[] input = System.console().readPassword(); + if (input == null) { + throw new BuildException("unexpected end of stream while reading input"); + } request.setInput(new String(input)); Arrays.fill(input, ' '); } while (!request.isInputValid());