[OpenJDK 2D-Dev] Review Request for JDK-8044289 : In ImageIO.read() and write() NPE is not handled properly for stream
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Wed Mar 16 20:35:41 UTC 2016
As far as I understand the createImageInputStream() returns null is this
stream is unsupported by current plugins via spi. Probably the read()
method should return null too?
/**
* Returns a {@code BufferedImage} as the result of decoding
* a supplied {@code InputStream} with an {@code ImageReader}
* chosen automatically from among those currently registered.
* The {@code InputStream} is wrapped in an
* {@code ImageInputStream}. If no registered
* {@code ImageReader} claims to be able to read the
* resulting stream, {@code null} is returned.
*
.......
* @return a {@code BufferedImage} containing the decoded
* contents of the input, or {@code null}.
*/
public static BufferedImage read(InputStream input) throws IOException
On 16.03.16 20:29, Philip Race wrote:
> The test writes out into "test.src".
> I believe that you should treat that as a "read-only" location.
> Write to a tempfile (File.createTempFile()) or TESTCLASSES.
>
> -phil.
>
> On 3/15/16, 10:50 PM, Jayathirth D V wrote:
>>
>> Hi Phil,All
>>
>> _Please review the following fix in JDK9:_
>>
>> __
>>
>> Bug : https://bugs.openjdk.java.net/browse/JDK-8044289
>>
>> Webrev : http://cr.openjdk.java.net/~jdv/8044289/webrev.00/
>> <http://cr.openjdk.java.net/%7Ejdv/8044289/webrev.00/>
>>
>> Issue : When createImageInputStream() or createImageOutputStream
>> returns null in ImageIO.read() or ImageIO.write() we are seeing NPE as
>> it stream is used further without null check.
>>
>> Root cause : “stream” is used without checking whether it is null or not.
>>
>> Solution : Handle null pointer of stream and throw IIOException.
>>
>> Test case contains all possible scenarios where
>> createImageInputStream() or createImageOutputStream can return null.
>>
>> Thanks,
>>
>> Jay
>>
--
Best regards, Sergey.
More information about the 2d-dev
mailing list