s4-libnet: Add mem_ctx to libnet_rpc_useradd calls (bug #8889)
authorAndrew Bartlett <abartlet@samba.org>
Mon, 30 Apr 2012 10:14:42 +0000 (20:14 +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
source4/torture/libnet/userman.c

index c94e636c860e6eeee30dae73b14b9bf02887ee4e..445883491f75e10f9c92a4757c0423e0e3168094 100644 (file)
@@ -88,7 +88,7 @@ struct composite_context* libnet_CreateUser_send(struct libnet_context *ctx,
        s->user_add.in.domain_handle  = ctx->samr.handle;
 
        /* send the request */
-       create_req = libnet_rpc_useradd_send(ctx->samr.pipe, &s->user_add, monitor);
+       create_req = libnet_rpc_useradd_send(ctx->samr.pipe, s, &s->user_add, monitor);
        if (composite_nomem(create_req, c)) return c;
 
        /* set the next stage */
@@ -123,7 +123,7 @@ static void continue_domain_open_create(struct composite_context *ctx)
        s->user_add.in.domain_handle  = s->ctx->samr.handle;
 
        /* send the request */
-       create_req = libnet_rpc_useradd_send(s->ctx->samr.pipe, &s->user_add, s->monitor_fn);
+       create_req = libnet_rpc_useradd_send(s->ctx->samr.pipe, s, &s->user_add, s->monitor_fn);
        if (composite_nomem(create_req, c)) return;
 
        /* set the next stage */
index 0f586b1d43cbd1b978e43c3a39f3534be89ba0c1..22a4efaddb5ba5edee920e46c9a780a584890e95 100644 (file)
@@ -95,6 +95,7 @@ static void continue_useradd_create(struct tevent_req *subreq)
  */
 
 struct composite_context *libnet_rpc_useradd_send(struct dcerpc_pipe *p,
+                                                 TALLOC_CTX *mem_ctx,
                                                  struct libnet_rpc_useradd *io,
                                                  void (*monitor)(struct monitor_msg*))
 {
@@ -105,7 +106,7 @@ struct composite_context *libnet_rpc_useradd_send(struct dcerpc_pipe *p,
        if (!p || !io) return NULL;
 
        /* composite 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 useradd_state);
@@ -182,7 +183,7 @@ NTSTATUS libnet_rpc_useradd(struct dcerpc_pipe *p,
                            TALLOC_CTX *mem_ctx,
                            struct libnet_rpc_useradd *io)
 {
-       struct composite_context *c = libnet_rpc_useradd_send(p, io, NULL);
+       struct composite_context *c = libnet_rpc_useradd_send(p, mem_ctx, io, NULL);
        return libnet_rpc_useradd_recv(c, mem_ctx, io);
 }
 
index ad4fa92f8cdcc34fe178cc15fd9e24dea44012e8..16e169f6d211dffc3a650461fccde5cfb156b3e1 100644 (file)
@@ -65,7 +65,7 @@ static bool test_useradd_async(struct torture_context *tctx,
 
        torture_comment(tctx, "Testing async libnet_rpc_useradd\n");
 
-       c = libnet_rpc_useradd_send(p, &user, msg_handler);
+       c = libnet_rpc_useradd_send(p, mem_ctx, &user, msg_handler);
        if (!c) {
                torture_comment(tctx, "Failed to call async libnet_rpc_useradd\n");
                return false;