I'm checking this in to classpath and the gcj 4.1 branch.
This fixes PR 27231. We weren't properly handling the case where no
'/' appeared in the redirect location.
It would be nice if FindBugs could catch the case where the result of
indexOf is directly passed to substring (maybe it does already? I
didn't check).
Tom
2006-04-21 Tom Tromey <[EMAIL PROTECTED]>
PR libgcj/27231:
* gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Handle
case where no '/' appears in 'location'.
Index: gnu/java/net/protocol/http/HTTPURLConnection.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java,v
retrieving revision 1.24
diff -u -r1.24 HTTPURLConnection.java
--- gnu/java/net/protocol/http/HTTPURLConnection.java 6 Mar 2006 19:08:30
-0000 1.24
+++ gnu/java/net/protocol/http/HTTPURLConnection.java 21 Apr 2006 17:25:40
-0000
@@ -267,6 +267,8 @@
secure = false;
start = 7;
int end = location.indexOf('/', start);
+ if (end == -1)
+ end = location.length();
host = location.substring(start, end);
int ci = host.lastIndexOf(':');
if (ci != -1)
@@ -288,6 +290,8 @@
secure = true;
start = 8;
int end = location.indexOf('/', start);
+ if (end == -1)
+ end = location.length();
host = location.substring(start, end);
int ci = host.lastIndexOf(':');
if (ci != -1)