aboutsummaryrefslogtreecommitdiff
path: root/src/netbase.cpp
diff options
context:
space:
mode:
authorGregory Maxwell <[email protected]>2012-05-12 18:55:36 -0700
committerGregory Maxwell <[email protected]>2012-05-12 18:55:36 -0700
commit6f7d45a3239519bb3a18893dea0875e80edc8c42 (patch)
tree5d1aea56c41131213f378681ebebc334fc5aff3d /src/netbase.cpp
parentFix warning about uninitialized value (diff)
parentTake -port into account when resolving -bind's (diff)
downloaddiscoin-6f7d45a3239519bb3a18893dea0875e80edc8c42.tar.xz
discoin-6f7d45a3239519bb3a18893dea0875e80edc8c42.zip
Merge pull request #1272 from sipa/ipv6fixes
A few IPv6 fixes
Diffstat (limited to 'src/netbase.cpp')
-rw-r--r--src/netbase.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp
index ebf823e89..f09d981c4 100644
--- a/src/netbase.cpp
+++ b/src/netbase.cpp
@@ -464,12 +464,14 @@ bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest
int port = portDefault;
size_t colon = strDest.find_last_of(':');
- char *endp = NULL;
- int n = strtol(pszDest + colon + 1, &endp, 10);
- if (endp && *endp == 0 && n >= 0) {
- strDest = strDest.substr(0, colon);
- if (n > 0 && n < 0x10000)
- port = n;
+ if (colon != strDest.npos) {
+ char *endp = NULL;
+ int n = strtol(pszDest + colon + 1, &endp, 10);
+ if (endp && *endp == 0 && n >= 0) {
+ strDest = strDest.substr(0, colon);
+ if (n > 0 && n < 0x10000)
+ port = n;
+ }
}
if (strDest[0] == '[' && strDest[strDest.size()-1] == ']')
strDest = strDest.substr(1, strDest.size()-2);