aboutsummaryrefslogtreecommitdiffstats
path: root/transact.c
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2006-08-07 08:38:52 +0000
committerMatthias Andree <matthias.andree@gmx.de>2006-08-07 08:38:52 +0000
commitc37b5d80dcbc0b30427ac7671b9eccd8856b1579 (patch)
treefce7689e312b4747523da39ab5975dc0d90b6bb0 /transact.c
parent00428859b66df7161ee4a0d3f55afaa03aa7a2c3 (diff)
downloadfetchmail-c37b5d80dcbc0b30427ac7671b9eccd8856b1579.tar.gz
fetchmail-c37b5d80dcbc0b30427ac7671b9eccd8856b1579.tar.bz2
fetchmail-c37b5d80dcbc0b30427ac7671b9eccd8856b1579.zip
Freeaddrinfo() fix for Uli Zappe's bug.
This might fix Debian Bug#294547 and Bug#377135. svn path=/branches/BRANCH_6-3/; revision=4880
Diffstat (limited to 'transact.c')
-rw-r--r--transact.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/transact.c b/transact.c
index b16f4238..f29fa5b9 100644
--- a/transact.c
+++ b/transact.c
@@ -150,7 +150,7 @@ static void find_server_names(const char *hdr,
* not, skip this name. If it is, we'll keep
* going and try to find a mapping to a client name.
*/
- if (!is_host_alias(atsign+1, ctl))
+ if (!is_host_alias(atsign+1, ctl, &ai0))
{
save_str(xmit_names, cp, XMIT_REJECT);
reject_count++;
@@ -190,6 +190,7 @@ static char *parse_received(struct query *ctl, char *bufp)
{
char *base, *ok = (char *)NULL;
static char rbuf[HOSTLEN + USERNAMELEN + 4];
+ struct addrinfo *ai0;
#define RBUF_WRITE(value) if (tp < rbuf+sizeof(rbuf)-1) *tp++=value
@@ -237,7 +238,7 @@ static char *parse_received(struct query *ctl, char *bufp)
* recipient name after a following "for". Otherwise
* punt.
*/
- if (is_host_alias(rbuf, ctl))
+ if (is_host_alias(rbuf, ctl, &ai0))
{
if (outlevel >= O_DEBUG)
report(stdout,