[OpenJDK 2D-Dev]  RFR JDK-8190997: PNGImageReader throws NullPointerException when PLTE section is missing
Jayathirth D V
jayathirth.d.v at oracle.com
Wed Dec 13 09:32:07 UTC 2017
Please review the following fix in JDK10 :
Bug : https://bugs.openjdk.java.net/browse/JDK-8190997
Webrev : http://cr.openjdk.java.net/~jdv/8190997/webrev.00/
Issue : When we try to read PNG image with color type as PNG_COLOR_PALETTE in IHDR header but missing the required PLTE chunk we throw NullPointerException.
Root cause : We finish reading metadata but when we try to read image information and access palette related data it throws NPE as palette related data is not initialized/not present.
Solution : PNG specification mandates that if color type present in IHDR is PNG_COLOR_PALETTE(type 3), PLTE chunk should appear before the first IDAT chunk. So while reading metadata itself we should verify the same and if required PLTE chunk is absent we should throw proper IIOException instead of allowing the code to continue further and throw NPE while trying to access palette information.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the 2d-dev