summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2017-06-01 14:36:07 +1200
committerStefan Metzmacher <metze@samba.org>2017-07-13 20:01:25 +0200
commit80aeac8bd06d1a4a62e31e5306545efd92ddffa1 (patch)
tree031c38e18af13639bf5b0ea87ddbe0293e7194fd
parent04676d6feb0500df24149fe7abebe0bfbd2a2f43 (diff)
downloadsamba-80aeac8bd06d1a4a62e31e5306545efd92ddffa1.tar.gz
dnsserver: Stop dns_name_equal doing OOB read
This has been the cause of a large number of flakey autobuilds. Every now and again dns_name_equal would not be equal between two empty strings, thus causing failures. Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12813 Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Thu Jun 1 19:34:38 CEST 2017 on sn-devel-144 (cherry picked from commit 5ccfd38156ddf2435df15600638cde8ed020958f)
-rw-r--r--source4/rpc_server/dnsserver/dnsdata.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source4/rpc_server/dnsserver/dnsdata.c b/source4/rpc_server/dnsserver/dnsdata.c
index 9b3c9f9d406..c3006433515 100644
--- a/source4/rpc_server/dnsserver/dnsdata.c
+++ b/source4/rpc_server/dnsserver/dnsdata.c
@@ -1127,8 +1127,8 @@ bool dns_name_equal(const char *name1, const char *name2)
size_t len1 = strlen(name1);
size_t len2 = strlen(name2);
- if (name1[len1-1] == '.') len1--;
- if (name2[len2-1] == '.') len2--;
+ if (len1 > 0 && name1[len1-1] == '.') len1--;
+ if (len2 > 0 && name2[len2-1] == '.') len2--;
if (len1 != len2) {
return false;
}