r4001: fix segfault fix auth failed
authorStefan Metzmacher <metze@samba.org>
Mon, 29 Nov 2004 14:46:17 +0000 (14:46 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:06:13 +0000 (13:06 -0500)
metze
(This used to be commit 6a7eee1d9917e0884072354dddae568645798da5)

source4/libcli/auth/gensec.c
source4/librpc/rpc/dcerpc_auth.c

index 360a69c0e0359f78adc0a9594618d8940a2f7f0e..3cf96de4b3e55671985a6b6951a28f800f9bdae0 100644 (file)
@@ -443,6 +443,9 @@ NTSTATUS gensec_update(struct gensec_security *gensec_security, TALLOC_CTX *out_
 
 void gensec_end(struct gensec_security **gensec_security)
 {
 
 void gensec_end(struct gensec_security **gensec_security)
 {
+       if (!*gensec_security) {
+               return;
+       }
        if ((*gensec_security)->ops) {
                (*gensec_security)->ops->end(*gensec_security);
        }
        if ((*gensec_security)->ops) {
                (*gensec_security)->ops->end(*gensec_security);
        }
index af138ffe2c49245c28f65062cb515a35b89434e9..7e581992faf92379e4f612480abcbe1e4bb5de0d 100644 (file)
@@ -113,6 +113,7 @@ done:
        talloc_destroy(mem_ctx);
 
        if (!NT_STATUS_IS_OK(status)) {
        talloc_destroy(mem_ctx);
 
        if (!NT_STATUS_IS_OK(status)) {
+               gensec_end(&p->security_state.generic_state);
                ZERO_STRUCT(p->security_state);
        } else {
                /* Authenticated connections use the generic session key */
                ZERO_STRUCT(p->security_state);
        } else {
                /* Authenticated connections use the generic session key */