<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
+1<br>
<br>
-Phil.<br>
<br>
<div class="moz-cite-prefix">On 3/5/20 7:47 PM, Jayathirth D v
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:A52671D0-B116-43FB-9EED-1CC5FD8D10F2@ORACLE.COM">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Hi Phil,
<div class=""><br class="">
</div>
<div class="">Thanks for your inputs.</div>
<div class=""><br class="">
</div>
<div class="">Yes we don’t need extra “left > 0” check, I have
removed it and I have updated the test case to print “Test
passed”.</div>
<div class=""><br class="">
</div>
<div class="">Please find updated webrev for review:</div>
<div class=""><a
href="http://cr.openjdk.java.net/~jdv/6532025/webrev.01/"
class="" moz-do-not-send="true">http://cr.openjdk.java.net/~jdv/6532025/webrev.01/</a> </div>
<div class=""><br class="">
</div>
<div class="">I ran all imageio jtreg tests and there are no
failures with updated change.</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Jay<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 06-Mar-2020, at 8:22 AM, Philip Race <<a
href="mailto:philip.race@oracle.com" class=""
moz-do-not-send="true">philip.race@oracle.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta content="text/html; charset=UTF-8"
http-equiv="Content-Type" class="">
<div bgcolor="#FFFFFF" text="#000000" class=""> I don't
understand why you need to recheck that left > 0.<br
class="">
Nothing can change it between the while loop check and
your check<br class="">
<br class="">
while (left > 0) {<br class="">
int nbytes = stream.read(block,
off, left);<br class="">
+ if (nbytes == -1 &&
left > 0) {<br class="">
+ throw new
IIOException("Invalid block length for " +<br class="">
+ "LZW encoded image
data");<br class="">
+ }<br class="">
off += nbytes;<br class="">
left -= nbytes;<br class="">
}<br class="">
<br class="">
Also in the test since you are printing<br class="">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8" class="">
<pre class=""> 51 } catch (IIOException e) {
52 // do nothing we expect IIOException but we should not
53 // throw IndexOutOfBoundsException
54 System.out.println(e.toString());
55 System.out.println("Caught IIOException ignore it");</pre>
<br class="">
Maybe add "Test passed" to be extra clear !<br class="">
<br class="">
-phil.<br class="">
<br class="">
On 3/5/20, 6:15 PM, Jayathirth D v wrote:
<blockquote
cite="mid:DE688F8F-6F72-4F8F-B024-CA2B754E1394@ORACLE.COM"
type="cite" class="">
<meta http-equiv="Context-Type" content="text/html;
charset=utf-8" class="">
Hi Brian,
<div class=""><br class="">
</div>
<div class="">Thanks for the clarification and
approval.</div>
<div class=""><br class="">
</div>
<div class="">@Others : Need one more review please
take a look.</div>
<div class=""><br class="">
</div>
<div class="">Regards,</div>
<div class="">Jay </div>
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On 06-Mar-2020, at 2:05 AM, Brian
Burkhalter <<a moz-do-not-send="true"
href="mailto:brian.burkhalter@oracle.com"
class="">brian.burkhalter@oracle.com</a>>
wrote:</div>
<br class="">
<div class="">
<div class="">Hi Jay,
<div class=""><br class="">
</div>
<div class="">I think the overall change is
fine.</div>
<div class=""><br class="">
</div>
<div class="">Regards,</div>
<div class=""><br class="">
</div>
<div class="">Brian<br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Mar 5, 2020, at 9:18
AM, Jayathirth D v <<a
moz-do-not-send="true"
href="mailto:JAYATHIRTH.D.V@ORACLE.COM"
class="">JAYATHIRTH.D.V@ORACLE.COM</a>>
wrote:</div>
<br class="">
<div class="">
<div class="">
<div class="">Hello Brian,</div>
<div class=""><br class="">
</div>
<div class="">Thanks for the
review. GIF stream in regression
test case would match warn.gif
stream behaviour that’s why it
going into
GIFImageReader.getCode().</div>
<div class=""><br class="">
</div>
<div class="">Are you okay with
overall webrev.00 patch or have
you just approved GIFImageReader
change? Please clarify.</div>
<div class=""><br class="">
</div>
<div class="">Regards,</div>
<div class="">Jay<br class="">
<div class=""><br class="">
<blockquote type="cite"
class="">
<div class="">On
05-Mar-2020, at 10:20 PM,
Brian Burkhalter <<a
moz-do-not-send="true"
href="mailto:brian.burkhalter@oracle.com"
class="">brian.burkhalter@oracle.com</a>>
wrote:</div>
<br class="">
<div class="">
<div class="">Hello Jay,
<div class=""><br
class="">
</div>
<div class="">The source
fix looks OK to me. I
get the same exception
as in the bug
description when I run
the test against my
unpatched local JDK 15
build.</div>
<div class=""><br
class="">
</div>
<div class="">Thanks,</div>
<div class=""><br
class="">
</div>
<div class="">Brian</div>
<div class="">
<div class=""><br
class="">
<blockquote
type="cite"
class="">
<div class="">On
Mar 5, 2020, at
2:12 AM,
Jayathirth D v
<<a
moz-do-not-send="true"
href="mailto:JAYATHIRTH.D.V@ORACLE.COM" class="">JAYATHIRTH.D.V@ORACLE.COM</a>>
wrote:</div>
<br class="">
<div class="">
<div class="">Please
review the
following fix
for JDK 15:</div>
<div class=""><br
class="">
</div>
<div class="">Bug
: <a
moz-do-not-send="true"
href="https://bugs.openjdk.java.net/browse/JDK-6532025" class="">https://bugs.openjdk.java.net/browse/JDK-6532025</a></div>
<div class="">Webrev
: <a
moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Ejdv/6532025/webrev.00/" class="">http://cr.openjdk.java.net/~jdv/6532025/webrev.00/</a> </div>
<div class=""><br
class="">
</div>
<div class="">Root
cause : When
we have
truncated GIF
images,
stream.read()
returns -1 but
GIFImageReader
doesn’t handle
such
conditions
properly and
continues to
read input
stream data.</div>
<div class="">Solution
: Handle cases
where we reach
EOF and throw
appropriate
exception.</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</blockquote>
<br>
</body>
</html>