diff options
Diffstat (limited to 'source3/auth')
-rw-r--r-- | source3/auth/auth_sam.c | 6 | ||||
-rw-r--r-- | source3/auth/auth_util.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/source3/auth/auth_sam.c b/source3/auth/auth_sam.c index 107e33c600..01f41fce44 100644 --- a/source3/auth/auth_sam.c +++ b/source3/auth/auth_sam.c @@ -353,8 +353,10 @@ static NTSTATUS check_sam_security(const struct auth_context *auth_context, return NT_STATUS_UNSUCCESSFUL; } - if (!pdb_init_sam(&sampass)) { - return NT_STATUS_NO_MEMORY; + /* Can't use the talloc version here, becouse the returned struct gets + kept on the server_info */ + if (!NT_STATUS_IS_OK(nt_status = pdb_init_sam(&sampass))) { + return nt_status; } /* get the account information */ diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index a747cf8a35..d2748e30d4 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -501,7 +501,7 @@ BOOL make_server_info_sam(auth_serversupplied_info **server_info, SAM_ACCOUNT *s BOOL make_server_info_pw(auth_serversupplied_info **server_info, const struct passwd *pwd) { SAM_ACCOUNT *sampass = NULL; - if (!pdb_init_sam_pw(&sampass, pwd)) { + if (!NT_STATUS_IS_OK(pdb_init_sam_pw(&sampass, pwd))) { return False; } return make_server_info_sam(server_info, sampass); |