STEP03c: s3 gensec
authorStefan Metzmacher <metze@samba.org>
Sun, 12 Jan 2014 00:15:42 +0000 (01:15 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 10:45:39 +0000 (12:45 +0200)
source3/rpc_client/cli_pipe.c

index b06858c8e3360ba860c94a24f58f2b12d95f940e..2c28346cd7febd4342c911add3d37088f161c3c8 100644 (file)
@@ -2135,6 +2135,7 @@ NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
        struct tevent_req *subreq;
        struct auth_generic_state *auth_generic_ctx;
        struct gensec_security *gensec = NULL;
+       struct gensec_security **gensec_ptr = NULL;
        struct dcerpc_presentation *pres[1];
 
        ev = samba_tevent_context_init(frame);
@@ -2143,16 +2144,16 @@ NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli,
                goto fail;
        }
 
-       auth_generic_ctx = auth->auth_ctx;
-       if (auth_generic_ctx) {
-               gensec = auth_generic_ctx->gensec_security;
-               auth_generic_ctx->gensec_security = NULL;
+       if (auth->auth_ctx != NULL) {
+               gensec = talloc_get_type_abort(auth->auth_ctx,
+                                              struct gensec_security);
+               gensec_ptr = &gensec;
        }
 
        cli->sec = dcerpc_security_allocate(cli, cli->conn,
                                           auth->auth_type,
                                           auth->auth_level,
-                                          &gensec);
+                                          gensec_ptr);
 
        call = dcerpc_call_allocate(frame, cli->assoc, NULL, NULL);