From: divverent Date: Wed, 6 Oct 2010 09:48:53 +0000 (+0000) Subject: fix misparsing of portless IPv6 addresses X-Git-Tag: xonotic-v0.1.0preview~56^2~103 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=560eb405cfebc3c582f09d1358c170aa4e885e1a;p=xonotic%2Fdarkplaces.git fix misparsing of portless IPv6 addresses git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10514 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/lhnet.c b/lhnet.c index 75cd5c64..bb1e0085 100644 --- a/lhnet.c +++ b/lhnet.c @@ -389,8 +389,12 @@ int LHNETADDRESS_FromString(lhnetaddress_t *vaddress, const char *string, int de address->addresstype = LHNETADDRESSTYPE_NONE; port = 0; colon = strrchr(string, ':'); - if (colon) + if (colon && (colon == strchr(string, ':') || (string[0] == '[' && colon - string > 0 && colon[-1] == ']'))I) + // EITHER: colon is the ONLY colon OR: colon comes after [...] delimited IPv6 address + // fixes misparsing of IPv6 addresses without port + { port = atoi(colon + 1); + } else colon = string + strlen(string); if (port == 0)