[ 
https://issues.apache.org/jira/browse/IO-686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267516#comment-17267516
 ] 

Gary D. Gregory edited comment on IO-686 at 1/18/21, 8:40 PM:
--------------------------------------------------------------

[~themoffster]

This is related to [IO=690], the underlying code in git master is now back to 
an NPE (with a better message) for null input; the Javadoc is improved as well.

Please review git master, comment nad/or close this ticket if appropriate.

 


was (Author: garydgregory):
[~themoffster]

This is related to [IO=690], the underlying code in git master is now back to 
an NPE (with a better message) for null input; the Javadoc is improved as well.

 

> IOUtils.toByteArray(InputStream) Javadoc does not match code
> ------------------------------------------------------------
>
>                 Key: IO-686
>                 URL: https://issues.apache.org/jira/browse/IO-686
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Utilities
>    Affects Versions: 2.8.0
>            Reporter: Alan Moffat
>            Priority: Critical
>             Fix For: 2.9.0
>
>
> According to the code in the v2.8.0 release, passing null to the method 
> should throw an exception, however it is producing an empty byte array 
> instead.
> {code:java}
> /**
>  * Gets the contents of an <code>InputStream</code> as a <code>byte[]</code>.
>  * <p>
>  * This method buffers the input internally, so there is no need to use a
>  * <code>BufferedInputStream</code>.
>  * </p>
>  *
>  * @param input the <code>InputStream</code> to read from
>  * @return the requested byte array
>  * @throws NullPointerException if the input is null
>  * @throws IOException          if an I/O error occurs
>  */
> public static byte[] toByteArray(final InputStream input) throws IOException {
>     try (final ByteArrayOutputStream output = new ByteArrayOutputStream()) {
>         copy(input, output);
>         return output.toByteArray();
>     }
> } {code}
> This can be recreated by the following:
> {code:java}
> @Test
> public void shouldThrowNullPointerException() {
>     assertThrows(NullPointerException.class, () -> 
> IOUtils.toByteArray((InputStream) null))
> } {code}
> On v2.7 the test passes, on v2.8.0 it fails.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to