[Fix] Add a closing square bracket check

Fix for a part of pull request #264.
This commit is contained in:
sta 2016-05-27 15:33:25 +09:00
parent 6878e608e7
commit e8661442a8

View File

@ -126,15 +126,14 @@ namespace WebSocketSharp.Net
var len = uriPrefix.Length;
var startHost = uriPrefix.IndexOf (':') + 3;
var colon = uriPrefix.IndexOf (':', startHost, len - startHost);
var root = 0;
if (colon > 0) {
root = uriPrefix.IndexOf ('/', colon, len - colon);
var root = uriPrefix.IndexOf ('/', startHost, len - startHost);
var colon = uriPrefix.LastIndexOf (':', root - 1, root - startHost - 1);
if (uriPrefix[root - 1] != ']' && colon > startHost) {
_host = uriPrefix.Substring (startHost, colon - startHost);
_port = (ushort) Int32.Parse (uriPrefix.Substring (colon + 1, root - colon - 1));
}
else {
root = uriPrefix.IndexOf ('/', startHost, len - startHost);
_host = uriPrefix.Substring (startHost, root - startHost);
_port = (ushort) defaultPort;
}