On Tue, Sep 17, 2019 at 05:03:56PM +1000, Michael Chapman wrote:
The ports in the socket address structures returned by getaddrinfo()
are
in network byte order. Convert to host byte order before returning them.
Signed-off-by: Michael Chapman <mike(a)very.puzzling.org>
---
src/util/virsocketaddr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index c1fd5ec3d2..bba2089436 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -265,12 +265,12 @@ int virSocketAddrResolveService(const char *service)
if (tmp->ai_family == AF_INET) {
struct sockaddr_in in;
memcpy(&in, tmp->ai_addr, sizeof(in));
- port = in.sin_port;
+ port = ntohs(in.sin_port);
goto cleanup;
} else if (tmp->ai_family == AF_INET6) {
struct sockaddr_in6 in;
memcpy(&in, tmp->ai_addr, sizeof(in));
- port = in.sin6_port;
+ port = ntohs(in.sin6_port);
goto cleanup;
}
tmp++;
Reviewed-by: Daniel P. Berrangé <berrange(a)redhat.com>
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|