diff options
author | Garming Sam <garming@catalyst.net.nz> | 2017-06-01 14:36:07 +1200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2017-07-13 20:01:25 +0200 |
commit | 80aeac8bd06d1a4a62e31e5306545efd92ddffa1 (patch) | |
tree | 031c38e18af13639bf5b0ea87ddbe0293e7194fd | |
parent | 04676d6feb0500df24149fe7abebe0bfbd2a2f43 (diff) | |
download | samba-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.c | 4 |
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; } |