From 560eb405cfebc3c582f09d1358c170aa4e885e1a Mon Sep 17 00:00:00 2001 From: divverent Date: Wed, 6 Oct 2010 09:48:53 +0000 Subject: [PATCH] fix misparsing of portless IPv6 addresses git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10514 d7cf8633-e32d-0410-b094-e92efae38249 --- lhnet.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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) -- 2.39.2