s4-libnet: Add mem_ctx to libnet_rpc_usermod calls (bug #8889)
authorAndrew Bartlett <abartlet@samba.org>
Mon, 30 Apr 2012 10:25:55 +0000 (20:25 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 30 Apr 2012 11:08:28 +0000 (13:08 +0200)
source4/libnet/libnet_user.c
source4/libnet/userman.c

index af173e993d10e102fbe37916eb0e8a080a837625..1a736524542666f0ee5041c27ccbe7950473c898 100644 (file)
@@ -483,7 +483,7 @@ static void continue_rpc_userinfo(struct composite_context *ctx)
 
        c->status = set_user_changes(c, &s->user_mod.in.change, &s->user_info, &s->r);
 
-       usermod_req = libnet_rpc_usermod_send(s->ctx->samr.pipe, &s->user_mod, s->monitor_fn);
+       usermod_req = libnet_rpc_usermod_send(s->ctx->samr.pipe, s, &s->user_mod, s->monitor_fn);
        if (composite_nomem(usermod_req, c)) return;
 
        composite_continue(c, usermod_req, continue_rpc_usermod, c);
index c6d1922dac32e6cfb3ee1ddb8710747a1660e83c..c1ee0179902719c0fd5d588c5ef1dc447ecee667 100644 (file)
@@ -837,6 +837,7 @@ static void continue_usermod_user_changed(struct tevent_req *subreq)
  */
 
 struct composite_context *libnet_rpc_usermod_send(struct dcerpc_pipe *p,
+                                                 TALLOC_CTX *mem_ctx,
                                                  struct libnet_rpc_usermod *io,
                                                  void (*monitor)(struct monitor_msg*))
 {
@@ -845,7 +846,7 @@ struct composite_context *libnet_rpc_usermod_send(struct dcerpc_pipe *p,
        struct tevent_req *subreq;
 
        /* composite context allocation and setup */
-       c = composite_create(p, dcerpc_event_context(p));
+       c = composite_create(mem_ctx, dcerpc_event_context(p));
        if (c == NULL) return NULL;
        s = talloc_zero(c, struct usermod_state);
        if (composite_nomem(s, c)) return c;
@@ -914,6 +915,6 @@ NTSTATUS libnet_rpc_usermod(struct dcerpc_pipe *p,
                            TALLOC_CTX *mem_ctx,
                            struct libnet_rpc_usermod *io)
 {
-       struct composite_context *c = libnet_rpc_usermod_send(p, io, NULL);
+       struct composite_context *c = libnet_rpc_usermod_send(p, mem_ctx, io, NULL);
        return libnet_rpc_usermod_recv(c, mem_ctx, io);
 }