diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-10 12:28:46 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-10 12:28:46 +0000 |
commit | 819caa6eacef6cc3782c9b07d15bb6354de02818 (patch) | |
tree | c5a029b9e3d2d1e6fe94d5ede665a807d44434aa | |
parent | 6b0ce20d6bec52b759ac4ff479ce055a635046a9 (diff) | |
download | mailfromd-819caa6eacef6cc3782c9b07d15bb6354de02818.tar.gz mailfromd-819caa6eacef6cc3782c9b07d15bb6354de02818.tar.bz2 |
(a_lookup): Make name buffer big enough to hold eventual CNAME expansions.
git-svn-id: file:///svnroot/mailfromd/trunk@1501 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r-- | src/dnsbase.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/dnsbase.c b/src/dnsbase.c index 7290fc46..777ca7ee 100644 --- a/src/dnsbase.c +++ b/src/dnsbase.c @@ -608,7 +608,9 @@ a_lookup(const char *host, struct loop_data ld; - char domainbuf[256] = ""; + char namebuf[NSIZE]; + char domainbuf[NSIZE] = ""; ld.qtype = ld.atype = T_A; - ld.name = xstrdup(host); - ld.name_size = strlen(ld.name); + strncpy(namebuf, host, sizeof namebuf - 1); + ld.name = namebuf; + ld.name_size = sizeof namebuf; ld.domain = domainbuf; @@ -625,3 +627,2 @@ a_lookup(const char *host, cnameloop(&ld); - free(ld.name); if (ld.status == dns_success) { |