8167223: URL handling improvements

Reviewed-by: prappo, chegar
This commit is contained in:
Michael McMahon 2016-11-17 16:59:18 +00:00
parent adcdf5a459
commit e859125b09

View File

@ -161,9 +161,9 @@ public abstract class URLStreamHandler {
(spec.charAt(start + 1) == '/')) { (spec.charAt(start + 1) == '/')) {
start += 2; start += 2;
i = spec.indexOf('/', start); i = spec.indexOf('/', start);
if (i < 0) { if (i < 0 || i > limit) {
i = spec.indexOf('?', start); i = spec.indexOf('?', start);
if (i < 0) if (i < 0 || i > limit)
i = limit; i = limit;
} }
@ -171,8 +171,14 @@ public abstract class URLStreamHandler {
int ind = authority.indexOf('@'); int ind = authority.indexOf('@');
if (ind != -1) { if (ind != -1) {
if (ind != authority.lastIndexOf('@')) {
// more than one '@' in authority. This is not server based
userInfo = null;
host = null;
} else {
userInfo = authority.substring(0, ind); userInfo = authority.substring(0, ind);
host = authority.substring(ind+1); host = authority.substring(ind+1);
}
} else { } else {
userInfo = null; userInfo = null;
} }