diff options
author | Doug Barton <dougb@FreeBSD.org> | 2012-05-28 10:21:54 +0000 |
---|---|---|
committer | Doug Barton <dougb@FreeBSD.org> | 2012-05-28 10:21:54 +0000 |
commit | 31ffd11de096ff42940ae937e8e5a955664514c9 (patch) | |
tree | 6dc3dc4c57d86d545b84f6bf88014bfc1dcf80fa /lib/dns/sdb.c | |
parent | 65880d08f9383b1b2f7d971891cc32f9ba70e051 (diff) |
Notes
Diffstat (limited to 'lib/dns/sdb.c')
-rw-r--r-- | lib/dns/sdb.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c index 595ca256a4d2c..447ecbd2e5740 100644 --- a/lib/dns/sdb.c +++ b/lib/dns/sdb.c @@ -841,10 +841,17 @@ find(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version, */ dns_name_getlabelsequence(name, nlabels - i, i, xname); result = findnode(db, xname, ISC_FALSE, &node); - if (result != ISC_R_SUCCESS) { + if (result == ISC_R_NOTFOUND) { + /* + * No data at zone apex? + */ + if (i == olabels) + return (DNS_R_BADDB); result = DNS_R_NXDOMAIN; continue; } + if (result != ISC_R_SUCCESS) + return (result); /* * Look for a DNAME at the current label, unless this is |