From 7bce9e15181135c65c462a1d6ab1d75d80dce84b Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Tue, 17 Apr 2012 22:58:25 +0200 Subject: [PATCH] Networker / SMTP-Client: free a-record lookup reply. --- citadel/modules/network/serv_networkclient.c | 4 ++++ citadel/modules/smtp/serv_smtpeventclient.c | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/citadel/modules/network/serv_networkclient.c b/citadel/modules/network/serv_networkclient.c index 51db45198..a8aaa06e5 100644 --- a/citadel/modules/network/serv_networkclient.c +++ b/citadel/modules/network/serv_networkclient.c @@ -159,6 +159,10 @@ void DeleteNetworker(void *vptr) FreeStrBuf(&NW->Url); FreeStrBuf(&NW->IO.ErrMsg); FreeAsyncIOContents(&NW->IO); + if (NW->HostLookup.VParsedDNSReply != NULL) { + NW->HostLookup.DNSReplyFree(NW->HostLookup.VParsedDNSReply); + NW->HostLookup.VParsedDNSReply = NULL; + } free(NW); } diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 4a8cfcda9..ffdc63d0e 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -388,10 +388,19 @@ eNextState get_one_mx_host_ip_done(AsyncIO *IO) addr->sin_port = htons(DefaultMXPort); } Msg->mx_host = Msg->pCurrRelay->Host; + if (Msg->HostLookup.VParsedDNSReply != NULL) { + Msg->HostLookup.DNSReplyFree(Msg->HostLookup.VParsedDNSReply); + Msg->HostLookup.VParsedDNSReply = NULL; + } return mx_connect_ip(IO); } - else + else { + if (Msg->HostLookup.VParsedDNSReply != NULL) { + Msg->HostLookup.DNSReplyFree(Msg->HostLookup.VParsedDNSReply); + Msg->HostLookup.VParsedDNSReply = NULL; + } return FailOneAttempt(IO); + } } eNextState get_one_mx_host_ip(AsyncIO *IO) -- 2.30.2