From: Mark Andrews Date: Thu, 1 Aug 2019 21:58:36 +0000 (+1000) Subject: prevent TSAN being trigged when DNS_RBTFIND_EMPTYDATA is set X-Git-Tag: v9.15.5~21^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f30540727cf8f51a9b25f0357780aea837e83cc;p=thirdparty%2Fbind9.git prevent TSAN being trigged when DNS_RBTFIND_EMPTYDATA is set --- diff --git a/lib/dns/rbt.c b/lib/dns/rbt.c index b0e5a2c6e62..29a61fa3b65 100644 --- a/lib/dns/rbt.c +++ b/lib/dns/rbt.c @@ -1652,9 +1652,11 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, /* * This might be the closest enclosing name. */ - if (DATA(current) != NULL || - (options & DNS_RBTFIND_EMPTYDATA) != 0) + if ((options & DNS_RBTFIND_EMPTYDATA) != 0 || + DATA(current) != NULL) + { *node = current; + } /* * Point the chain to the next level. This @@ -1725,8 +1727,8 @@ dns_rbt_findnode(dns_rbt_t *rbt, const dns_name_t *name, dns_name_t *foundname, * ISC_R_SUCCESS to indicate an exact match. */ if (current != NULL && (options & DNS_RBTFIND_NOEXACT) == 0 && - (DATA(current) != NULL || - (options & DNS_RBTFIND_EMPTYDATA) != 0)) { + ((options & DNS_RBTFIND_EMPTYDATA) != 0 || DATA(current) != NULL)) + { /* * Found an exact match. */