r11267: Fix a memleak and an uninitialized variable. Andrew Bartlett, this was the one
authorVolker Lendecke <vlendec@samba.org>
Sun, 23 Oct 2005 17:22:00 +0000 (17:22 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:45:10 +0000 (13:45 -0500)
I sent to you. Sorry for bothering you.

Volker
(This used to be commit 3a9f2291ae6e96a715f463899957c6c598fc7627)

source4/winbind/wb_pam_auth.c

index b6864a39cc387995058db90999391885b43cac0f..c3a9d1fec32defd47d3e2c01ef273475e05d595f 100644 (file)
@@ -129,6 +129,8 @@ static struct composite_context *crap_samlogon_send_req(struct wbsrv_domain *dom
                state, "\\\\%s", dcerpc_server_name(domain->netlogon_pipe));
        if (state->r.in.server_name == NULL) return NULL;
 
+       ZERO_STRUCT(state->auth2);
+
        state->r.in.workstation =
                cli_credentials_get_workstation(domain->schannel_creds);
        state->r.in.credential = &state->auth;
@@ -208,17 +210,16 @@ NTSTATUS wb_cmd_pam_auth_crap_recv(struct composite_context *c,
                                   struct netr_UserSessionKey *user_session_key,
                                   struct netr_LMSessionKey *lm_key)
 {
+       struct pam_auth_crap_state *state =
+               talloc_get_type(c->private_data, struct pam_auth_crap_state);
        NTSTATUS status = composite_wait(c);
        if (NT_STATUS_IS_OK(status)) {
-               struct pam_auth_crap_state *state =
-                       talloc_get_type(c->private_data,
-                                       struct pam_auth_crap_state);
                info3->length = state->info3.length;
                info3->data = talloc_steal(mem_ctx, state->info3.data);
                *user_session_key = state->user_session_key;
                *lm_key = state->lm_key;
        }
-       talloc_free(c);
+       talloc_free(state);
        return status;
 }