diff options
-rw-r--r-- | main/network.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/main/network.c b/main/network.c index 2bc7c0eb0f..1de7ff98c4 100644 --- a/main/network.c +++ b/main/network.c @@ -501,7 +501,7 @@ PHPAPI int php_network_parse_network_address_with_port(const char *addr, long ad addr++; } else { colon = memchr(addr, ':', addrlen); - if (!colon || colon[1] != ':') { + if (!colon) { return FAILURE; } port = atoi(colon + 1); @@ -592,8 +592,8 @@ PHPAPI void php_network_populate_name_from_sockaddr( /* generally not thread safe, but it *is* thread safe under win32 */ buf = inet_ntoa(((struct sockaddr_in*)sa)->sin_addr); if (buf) { - *textaddrlen = strlen(buf); - *textaddr = estrndup(buf, *textaddrlen); + *textaddrlen = spprintf(textaddr, 0, "%s:%d", + buf, ntohs(((struct sockaddr_in*)sa)->sin_port)); } break; @@ -602,8 +602,8 @@ PHPAPI void php_network_populate_name_from_sockaddr( case AF_INET6: buf = (char*)inet_ntop(sa->sa_family, &((struct sockaddr_in6*)sa)->sin6_addr, (char *)&abuf, sizeof(abuf)); if (buf) { - *textaddrlen = strlen(buf); - *textaddr = estrndup(buf, *textaddrlen); + *textaddrlen = spprintf(textaddr, 0, "%s:%d", + buf, ntohs(((struct sockaddr_in6*)sa)->sin6_port)); } break; |