From 6487c8e012c6563bb5b4de1a4592d61d33430400 Mon Sep 17 00:00:00 2001 From: Ben Klang Date: Thu, 25 Feb 2010 23:39:11 +0000 Subject: [PATCH] Make sure we have room to store long domain names (such as IPv6 reverse DNS entries) git-svn-id: https://svn.alkaloid.net/gpl/ldap2dns/trunk@520 06cd67b6-e706-0410-b29e-9de616bca6e9 --- ldap2dns.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ldap2dns.c b/ldap2dns.c index 4e9cc08..3d8f925 100644 --- a/ldap2dns.c +++ b/ldap2dns.c @@ -25,6 +25,7 @@ #define MAXHOSTS 10 #define DEF_SEARCHTIMEOUT 40 #define DEF_RECLIMIT LDAP_NO_LIMIT +#define MAX_DOMAIN_LEN 256 static char tinydns_textfile[256]; static char tinydns_texttemp[256]; @@ -84,7 +85,7 @@ static struct struct resourcerecord { char cn[64]; - char dnsdomainname[64]; + char dnsdomainname[MAX_DOMAIN_LEN]; char class[16]; char type[16]; char ipaddr[256][80]; @@ -492,9 +493,12 @@ static int parse_options() } -static int expand_domainname(char target[64], const char* source, int slen) +static int expand_domainname(char target[MAX_DOMAIN_LEN], const char* source, int slen) { - if (slen>64) + int tlen; + tlen = strlen(zone.domainname); + + if ((slen + tlen) > MAX_DOMAIN_LEN) return 0; if (source[slen-1]=='.') { strncpy(target, source, slen-1);