hg: jdk8/tl/jdk: 8004863: Infinite Loop in KeepAliveStream

Alan Bateman Alan.Bateman at oracle.com
Thu Dec 20 14:34:58 UTC 2012


On 20/12/2012 14:15, Chris Hegarty wrote:
> On 20/12/2012 14:01, Alan Bateman wrote:
>>
>> ../../../../src/share/classes/sun/net/www/http/KeepAliveStream.java:86:
>> warning: [cast] redundant cast to long
>>                      do {} while ((nskip = (long) (expected - count)) 
>> > 0L
>
> I can't help but feel responsible for this, since I reviewed the 
> change. I filed 8005306: "Redundant cast warning in 
> KeepAliveStream.java", to track the issue, and a proposed patch is below.
>
> hg diff KeepAliveStream.java
> diff -r e515956879cd 
> src/share/classes/sun/net/www/http/KeepAliveStream.java
> --- a/src/share/classes/sun/net/www/http/KeepAliveStream.java   Tue 
> Dec 18 18:14:50 2012 -0800
> +++ b/src/share/classes/sun/net/www/http/KeepAliveStream.java   Thu 
> Dec 20 14:13:17 2012 +0000
> @@ -83,7 +83,7 @@ class KeepAliveStream extends MeteredStr
>              if (expected > count) {
>                  long nskip = expected - count;
>                  if (nskip <= available()) {
> -                    do {} while ((nskip = (long) (expected - count)) 
> > 0L
> +                    do {} while ((nskip = (expected - count)) > 0L
> && skip(Math.min(nskip, available())) > 0L);
>                  } else if (expected <= 
> KeepAliveStreamCleaner.MAX_DATA_REMAINING && !hurried) {
>                      //put this KeepAliveStream on the queue so that 
> the data remaining
>
> -Chris.
Thanks Chris, looks fine to me.

-Alan.



More information about the core-libs-dev mailing list