]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:auth: Check ldb_binary_encode_string() return value
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Tue, 9 May 2023 03:51:06 +0000 (15:51 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 16 May 2023 23:29:32 +0000 (23:29 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/auth/sam.c

index 35fd45813811d8bb5807a06b81890f8514d1e907..8bbcfb691f9d23ce2b12558672a1b03e3e154d57 100644 (file)
@@ -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)));