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

Chris Hegarty chris.hegarty at oracle.com
Thu Dec 20 14:15:48 UTC 2012


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.





More information about the core-libs-dev mailing list