From 7d9019432f49e887736307cb5c613671f66c51dd Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 7 May 2004 18:14:38 +0000 Subject: r565: Uninitialized data fixes from kawasa_r@itg.hitachi.co.jp. Jeremy. (This used to be commit c23a73324b335e42877551283b274f6d12f2c1a7) --- source3/nsswitch/wb_client.c | 1 + source3/nsswitch/winbindd_group.c | 3 +++ source3/nsswitch/winbindd_pam.c | 1 + 3 files changed, 5 insertions(+) (limited to 'source3') diff --git a/source3/nsswitch/wb_client.c b/source3/nsswitch/wb_client.c index 5d43139245..a1c71becf0 100644 --- a/source3/nsswitch/wb_client.c +++ b/source3/nsswitch/wb_client.c @@ -270,6 +270,7 @@ static int wb_getgroups(const char *user, gid_t **groups) /* Call winbindd */ + ZERO_STRUCT(request); fstrcpy(request.data.username, user); ZERO_STRUCT(response); diff --git a/source3/nsswitch/winbindd_group.c b/source3/nsswitch/winbindd_group.c index 4800ab20cf..7b4529144e 100644 --- a/source3/nsswitch/winbindd_group.c +++ b/source3/nsswitch/winbindd_group.c @@ -631,6 +631,9 @@ enum winbindd_result winbindd_getgrent(struct winbindd_cli_state *state) malloc(num_groups * sizeof(struct winbindd_gr))) == NULL) return WINBINDD_ERROR; + memset(state->response.extra_data, '\0', + num_groups * sizeof(struct winbindd_gr) ); + state->response.data.num_entries = 0; group_list = (struct winbindd_gr *)state->response.extra_data; diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c index c1840b6053..25f53e7a53 100644 --- a/source3/nsswitch/winbindd_pam.c +++ b/source3/nsswitch/winbindd_pam.c @@ -48,6 +48,7 @@ static NTSTATUS append_info3_as_ndr(TALLOC_CTX *mem_ctx, prs_mem_free(&ps); return NT_STATUS_NO_MEMORY; } + memset( state->response.extra_data, '\0', size ); prs_copy_all_data_out(state->response.extra_data, &ps); state->response.length += size; prs_mem_free(&ps); -- cgit