From 7893dabd6ff65a7d69ecc586e6bbab2688505239 Mon Sep 17 00:00:00 2001 From: defanor Date: Mon, 10 Jan 2022 16:32:02 +0300 Subject: Check in rexmpp_tcp_connected whether DNS records are resolved They may not be if an IP address is used instead of a hostname. --- src/rexmpp_tcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rexmpp_tcp.c b/src/rexmpp_tcp.c index 13e6e81..3022182 100644 --- a/src/rexmpp_tcp.c +++ b/src/rexmpp_tcp.c @@ -89,9 +89,9 @@ rexmpp_tcp_connected (rexmpp_tcp_conn_t *conn, int fd) { struct sockaddr sa; socklen_t sa_len = sizeof(sa); getsockname(fd, &sa, &sa_len); - if (sa.sa_family == AF_INET) { + if (sa.sa_family == AF_INET && conn->resolved_v4 != NULL) { conn->dns_secure = conn->resolved_v4->secure; - } else { + } else if (sa.sa_family == AF_INET6 && conn->resolved_v6 != NULL) { conn->dns_secure = conn->resolved_v6->secure; } conn->fd = fd; -- cgit v1.2.3