From b5bd55fe85f9a089b4b8242d73240c6521d3090e Mon Sep 17 00:00:00 2001 From: Joseph Sutton Date: Tue, 9 May 2023 15:51:06 +1200 Subject: [PATCH] s4:auth: Check ldb_binary_encode_string() return value Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- source4/auth/sam.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source4/auth/sam.c b/source4/auth/sam.c index 35fd4581381..8bbcfb691f9 100644 --- a/source4/auth/sam.c +++ b/source4/auth/sam.c @@ -1421,13 +1421,19 @@ NTSTATUS authsam_search_account(TALLOC_CTX *mem_ctx, struct ldb_context *sam_ctx struct ldb_message **ret_msg) { int ret; + char *account_name_encoded = NULL; + + account_name_encoded = ldb_binary_encode_string(mem_ctx, account_name); + if (account_name_encoded == NULL) { + return NT_STATUS_NO_MEMORY; + } /* pull the user attributes */ ret = dsdb_search_one(sam_ctx, mem_ctx, ret_msg, domain_dn, LDB_SCOPE_SUBTREE, user_attrs, DSDB_SEARCH_SHOW_EXTENDED_DN, "(&(sAMAccountName=%s)(objectclass=user))", - ldb_binary_encode_string(mem_ctx, account_name)); + account_name_encoded); if (ret == LDB_ERR_NO_SUCH_OBJECT) { DEBUG(3,("authsam_search_account: Couldn't find user [%s] in samdb, under %s\n", account_name, ldb_dn_get_linearized(domain_dn)));