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.
* 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;