From: Noel Power Date: Mon, 8 Jul 2019 13:43:20 +0000 (+0000) Subject: s4/dsdb/common: clang: Fix access results in null pointer deref. X-Git-Tag: talloc-2.3.0~118 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c38a7745b18ff83ad0097e604967a2501e88d1e1;p=thirdparty%2Fsamba.git s4/dsdb/common: clang: Fix access results in null pointer deref. Fixes: source4/dsdb/common/util_trusts.c:2915:21: warning: Access to field 'sid' results in a dereference of a null pointer (loaded from field 'tdo') <--[clang] d->di.domain_sid = d->tdo->sid; ^ ~~~ 1 warning generated. Signed-off-by: Noel Power Reviewed-by: Gary Lockyer --- diff --git a/source4/dsdb/common/util_trusts.c b/source4/dsdb/common/util_trusts.c index d2183911470..b4571dca957 100644 --- a/source4/dsdb/common/util_trusts.c +++ b/source4/dsdb/common/util_trusts.c @@ -2912,6 +2912,14 @@ NTSTATUS dsdb_trust_routing_table_load(struct ldb_context *sam_ctx, return status; } + /* + * d->tdo should not be NULL of status above is 'NT_STATUS_OK' + * check is needed to satisfy clang static checker + */ + if (d->tdo == NULL) { + TALLOC_FREE(frame); + return NT_STATUS_NO_MEMORY; + } d->di.domain_sid = d->tdo->sid; d->di.netbios_domain_name.string = d->tdo->netbios_name.string; d->di.dns_domain_name.string = d->tdo->domain_name.string;