[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    [OpenJDK 2D-Dev] [12] RFR JDK-8212116: IIOException "tEXt chunk length is not proper" on opening png
From:       Jayathirth D V <jayathirth.d.v () oracle ! com>
Date:       2018-10-16 13:07:17
Message-ID: 918a9d42-3b4b-43bf-a9ba-b4e8008f9bd1 () default
[Download RAW message or body]

Hello All,

 

Please review the following fix in JDK12:

 

Bug : https://bugs.openjdk.java.net/browse/JDK-8212116

 

Webrev: http://cr.openjdk.java.net/~jdv/8212116/webrev.00/ 

 

Issue : When we try to read PNG image with no text in tEXt chunk we throw \
IIOException.

 

Root cause : While fixing HYPERLINK \
"https://bugs.openjdk.java.net/browse/JDK-8191023"JDK-8191023 we added tighter \
condition for chunk length in text chunks and we throw IIOException even when text \
length is 0. But text chunks can contain null text with just keyword and other data \
according to PNG spec. 

 

Solution : Allow text chunks with text length 0 in tEXt chunk. As part of this fix I \
have made changes to zTXt and iTXt chunk also as we will have same problem there \
also. In HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8191023"JDK-8191023 we \
added tighter checks for iCCP and sPLT chunk also, but in these chunks we should not \
allow them to have null compressed profile or null palette. So no changes are made in \
iCCP & sPLT parse functions.

 

Thanks,

Jay


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type \
content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 \
(filtered medium)"><style><!-- /* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" \
vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hello \
All,<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Please \
review the following fix in JDK12:<o:p></o:p></p><p \
class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Bug : <a \
href="https://bugs.openjdk.java.net/browse/JDK-8212116">https://bugs.openjdk.java.net/browse/JDK-8212116</a><o:p></o:p></p><p \
class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Webrev: <a \
href="http://cr.openjdk.java.net/~jdv/8212116/webrev.00/">http://cr.openjdk.java.net/~jdv/8212116/webrev.00/</a> \
<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Issue : \
When we try to read PNG image with no text in tEXt chunk we throw \
IIOException.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p \
class=MsoNormal>Root cause : While fixing <a \
href="https://bugs.openjdk.java.net/browse/JDK-8191023">JDK-8191023</a> we added \
tighter condition for chunk length in text chunks and we throw IIOException even when \
text length is 0. But text chunks can contain null text with just keyword and other \
data according to PNG spec. <o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p \
class=MsoNormal>Solution : Allow text chunks with text length 0 in tEXt chunk. As \
part of this fix I have made changes to zTXt and iTXt chunk also as we will have same \
problem there also. In <a \
href="https://bugs.openjdk.java.net/browse/JDK-8191023">JDK-8191023</a> we added \
tighter checks for iCCP and sPLT chunk also, but in these chunks we should not allow \
them to have null compressed profile or null palette. So no changes are made in iCCP \
&amp; sPLT parse functions.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p \
class=MsoNormal>Thanks,<o:p></o:p></p><p \
class=MsoNormal>Jay<o:p></o:p></p></div></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic