summaryrefslogtreecommitdiff
path: root/source3/auth
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-05-19 21:49:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:51:38 -0500
commit8c0db1bbc469932694ed877eebecffa3d1948abd (patch)
treec7c9edcc3d4d57ce7477a23f00adb10baa1413c0 /source3/auth
parent509c71fef5bc3c8a3ec1b99fc1b4268c4b945a4f (diff)
downloadsamba-8c0db1bbc469932694ed877eebecffa3d1948abd.tar.gz
samba-8c0db1bbc469932694ed877eebecffa3d1948abd.tar.bz2
samba-8c0db1bbc469932694ed877eebecffa3d1948abd.zip
r786: Memory leak fixes in (mostly) error code paths from
kawasa_r@itg.hitachi.co.jp. A couple of mem leak fixes in mainline code paths though :-). Jeremy. (This used to be commit 4695cc95fe576b6da0d0cb0686f208fc306b2646)
Diffstat (limited to 'source3/auth')
-rw-r--r--source3/auth/auth_util.c3
-rw-r--r--source3/auth/auth_winbind.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c
index e6ed83a79a..9a03e7fe13 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -1236,6 +1236,7 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
info3->gids[i].g_rid));
SAFE_FREE(lgroupSIDs);
+ SAFE_FREE(all_group_SIDs);
free_server_info(server_info);
return nt_status;
@@ -1264,6 +1265,7 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
if ( !NT_STATUS_IS_OK(nt_status) ) {
DEBUG(4,("create_nt_user_token failed\n"));
+ SAFE_FREE(lgroupSIDs);
SAFE_FREE(all_group_SIDs);
free_server_info(server_info);
return nt_status;
@@ -1271,6 +1273,7 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
(*server_info)->ptok = token;
+ SAFE_FREE(lgroupSIDs);
SAFE_FREE(all_group_SIDs);
/* ensure we are never given NULL session keys */
diff --git a/source3/auth/auth_winbind.c b/source3/auth/auth_winbind.c
index 0e2820313e..4260a0e80b 100644
--- a/source3/auth/auth_winbind.c
+++ b/source3/auth/auth_winbind.c
@@ -127,9 +127,7 @@ static NTSTATUS check_winbind_security(const struct auth_context *auth_context,
if (result == NSS_STATUS_SUCCESS && response.extra_data) {
if (NT_STATUS_IS_OK(nt_status)) {
-
- if (NT_STATUS_IS_OK(nt_status = get_info3_from_ndr(mem_ctx, &response, &info3)))
- {
+ if (NT_STATUS_IS_OK(nt_status = get_info3_from_ndr(mem_ctx, &response, &info3))) {
nt_status = make_server_info_info3(mem_ctx,
user_info->internal_username.str,
user_info->smb_name.str, user_info->domain.str,
@@ -141,6 +139,7 @@ static NTSTATUS check_winbind_security(const struct auth_context *auth_context,
nt_status = NT_STATUS_NO_LOGON_SERVERS;
}
+ SAFE_FREE(response.extra_data);
return nt_status;
}