s4-libnet: Fix continue_groupinfo_openuser to check correct state info
[kai/samba-autobuild/.git] / source4 / libnet / userinfo.c
index 8d9c8419971c4ed74f4c9ded8680791e5b976a62..d485eecf5b4856d46d04931b6b1a3d89d3985c50 100644 (file)
@@ -62,7 +62,7 @@ static void continue_userinfo_lookup(struct tevent_req *subreq)
        struct msg_rpc_lookup_name *msg_lookup;
 
        c = tevent_req_callback_data(subreq, struct composite_context);
-       s = talloc_get_type(c->private_data, struct userinfo_state);
+       s = talloc_get_type_abort(c->private_data, struct userinfo_state);
 
        /* receive samr_Lookup reply */
        c->status = dcerpc_samr_LookupNames_r_recv(subreq, s);
@@ -123,15 +123,15 @@ static void continue_userinfo_openuser(struct tevent_req *subreq)
        struct msg_rpc_open_user *msg_open;
 
        c = tevent_req_callback_data(subreq, struct composite_context);
-       s = talloc_get_type(c->private_data, struct userinfo_state);
+       s = talloc_get_type_abort(c->private_data, struct userinfo_state);
 
        /* receive samr_OpenUser reply */
        c->status = dcerpc_samr_OpenUser_r_recv(subreq, s);
        TALLOC_FREE(subreq);
        if (!composite_is_ok(c)) return;
 
-       if (!NT_STATUS_IS_OK(s->queryuserinfo.out.result)) {
-               composite_error(c, s->queryuserinfo.out.result);
+       if (!NT_STATUS_IS_OK(s->openuser.out.result)) {
+               composite_error(c, s->openuser.out.result);
                return;
        }
 
@@ -174,7 +174,7 @@ static void continue_userinfo_getuser(struct tevent_req *subreq)
        struct msg_rpc_query_user *msg_query;
 
        c = tevent_req_callback_data(subreq, struct composite_context);
-       s = talloc_get_type(c->private_data, struct userinfo_state);
+       s = talloc_get_type_abort(c->private_data, struct userinfo_state);
 
        /* receive samr_QueryUserInfo reply */
        c->status = dcerpc_samr_QueryUserInfo_r_recv(subreq, s);
@@ -225,7 +225,7 @@ static void continue_userinfo_closeuser(struct tevent_req *subreq)
        struct msg_rpc_close_user *msg_close;
 
        c = tevent_req_callback_data(subreq, struct composite_context);
-       s = talloc_get_type(c->private_data, struct userinfo_state);
+       s = talloc_get_type_abort(c->private_data, struct userinfo_state);
 
        /* receive samr_Close reply */
        c->status = dcerpc_samr_Close_r_recv(subreq, s);
@@ -345,7 +345,7 @@ NTSTATUS libnet_rpc_userinfo_recv(struct composite_context *c, TALLOC_CTX *mem_c
        status = composite_wait(c);
        
        if (NT_STATUS_IS_OK(status) && io) {
-               s = talloc_get_type(c->private_data, struct userinfo_state);
+               s = talloc_get_type_abort(c->private_data, struct userinfo_state);
                talloc_steal(mem_ctx, s->info);
                io->out.info = *s->info;
        }