From: Michał Kępień Date: Fri, 22 Dec 2023 18:27:37 +0000 (+0100) Subject: Silence a scan-build warning in dns_rbt_addname() X-Git-Tag: v9.19.21~17^2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=9cf1f39b54ed8be9fffecff29cb65b987734aade;p=thirdparty%2Fbind9.git Silence a scan-build warning in dns_rbt_addname() Clang Static Analyzer is unable to grasp that when dns_rbt_addnode() returns ISC_R_EXISTS, it always sets the pointer passed to it via its 'nodep' parameter to a non-NULL value. Add an extra safety check in the conditional expression used in dns_rbt_addname() to silence that warning. --- diff --git a/lib/dns/rbt.c b/lib/dns/rbt.c index 07028f6b133..54ddfd91751 100644 --- a/lib/dns/rbt.c +++ b/lib/dns/rbt.c @@ -733,7 +733,7 @@ dns_rbt_addname(dns_rbt_t *rbt, const dns_name_t *name, void *data) { * there is data associated with a node. */ if (result == ISC_R_SUCCESS || - (result == ISC_R_EXISTS && node->data == NULL)) + (result == ISC_R_EXISTS && node != NULL && node->data == NULL)) { node->data = data; result = ISC_R_SUCCESS;