提交 e9a8f3c6 编写于 作者: D Daniel Veillard

Extend virSocketParseAddr() to allow a NULL result pointer

That way it can be used to verify a numeric address without storing
the details
* src/util/network.c: change virSocketParseAddr to allow a null @addr
  parameter
上级 ab8b2bea
......@@ -56,7 +56,7 @@ static int getIPv6Addr(virSocketAddrPtr addr, virIPv6AddrPtr tab) {
/**
* virSocketParseAddr:
* @val: a numeric network address IPv4 or IPv6
* @addr: where to store the return value.
* @addr: where to store the return value, optional.
* @hint: optional hint to pass down to getaddrinfo
*
* Mostly a wrapper for getaddrinfo() extracting the address storage
......@@ -70,7 +70,7 @@ virSocketParseAddr(const char *val, virSocketAddrPtr addr, int hint) {
struct addrinfo hints;
struct addrinfo *res = NULL;
if ((val == NULL) || (addr == NULL))
if (val == NULL)
return(-1);
memset(&hints, 0, sizeof(hints));
......@@ -80,7 +80,8 @@ virSocketParseAddr(const char *val, virSocketAddrPtr addr, int hint) {
}
len = res->ai_addrlen;
memcpy(&addr->stor, res->ai_addr, len);
if (addr != NULL)
memcpy(&addr->stor, res->ai_addr, len);
freeaddrinfo(res);
return(len);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册