From: Noel Power Date: Fri, 2 Jun 2023 13:27:55 +0000 (+0100) Subject: s3/utils: avoid erronous NO MEMORY detection X-Git-Tag: samba-4.17.11~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d94cbb10b882d52782cbabc1328c751cea4cb86f;p=thirdparty%2Fsamba.git s3/utils: avoid erronous NO MEMORY detection since 5cc3c1b5f6b0289f91c01b20989558badc28fd61 if we don't have a realm specified either on cmdline or in conf file we try to copy (talloc_strdup) a NULL variable which triggers a NO_MEMORY error when we check the result of the copy BUG: https://bugzilla.samba.org/show_bug.cgi?id=15384 Signed-off-by: Noel Power Reviewed-by: Stefan Metzmacher Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Sun Jun 4 12:42:16 UTC 2023 on atb-devel-224 (cherry picked from commit 22ab42c1007775abca0b578744d4c18a85cda627) Autobuild-User(v4-17-test): Jule Anger Autobuild-Date(v4-17-test): Wed Aug 2 11:45:00 UTC 2023 on sn-devel-184 --- diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c index dd9341f3637..70d05dc541a 100644 --- a/source3/utils/net_ads.c +++ b/source3/utils/net_ads.c @@ -713,10 +713,12 @@ retry: } else if (ads->auth.realm == NULL) { const char *c_realm = cli_credentials_get_realm(c->creds); - ads->auth.realm = talloc_strdup(ads, c_realm); - if (ads->auth.realm == NULL) { - TALLOC_FREE(ads); - return ADS_ERROR(LDAP_NO_MEMORY); + if (c_realm != NULL) { + ads->auth.realm = talloc_strdup(ads, c_realm); + if (ads->auth.realm == NULL) { + TALLOC_FREE(ads); + return ADS_ERROR(LDAP_NO_MEMORY); + } } }