diff options
Diffstat (limited to 'smtpd/resolver.c')
-rw-r--r-- | smtpd/resolver.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/smtpd/resolver.c b/smtpd/resolver.c index 54221416..aeb4e6bb 100644 --- a/smtpd/resolver.c +++ b/smtpd/resolver.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "includes.h" + #include <sys/types.h> #include <sys/socket.h> #include <sys/tree.h> @@ -186,7 +188,7 @@ resolver_dispatch_request(struct mproc *proc, struct imsg *imsg) if ((s = calloc(1, sizeof(*s))) && (s->host = malloc(NI_MAXHOST)) && (s->serv = malloc(NI_MAXSERV)) && - (q = getnameinfo_async(sa, sa->sa_len, s->host, NI_MAXHOST, + (q = getnameinfo_async(sa, SA_LEN(sa), s->host, NI_MAXHOST, s->serv, NI_MAXSERV, flags, NULL)) && (event_asr_run(q, resolver_getnameinfo_cb, s))) { s->reqid = reqid; @@ -249,14 +251,14 @@ resolver_dispatch_result(struct mproc *proc, struct imsg *imsg) m_get_string(&m, &cname); m_end(&m); - ai->ai_addr = malloc(ss.ss_len); + ai->ai_addr = malloc(SS_LEN(&ss)); if (ai->ai_addr == NULL) { log_warn("%s: malloc", __func__); free(ai); break; } - memmove(ai->ai_addr, &ss, ss.ss_len); + memmove(ai->ai_addr, &ss, SS_LEN(&ss)); if (cname) { ai->ai_canonname = strdup(cname); |