diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-03-01 21:02:24 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-03-01 22:04:46 +1100 |
commit | 1a5eafba13fa54dd44626625886d1e7a4adf5a2c (patch) | |
tree | 059475a5a256c39ada318e28cc305536f4da78d7 /source4/libnet/userinfo.c | |
parent | 31bf81a03c222f8c42996aebb127a31d23dc799e (diff) | |
download | samba-1a5eafba13fa54dd44626625886d1e7a4adf5a2c.tar.gz samba-1a5eafba13fa54dd44626625886d1e7a4adf5a2c.tar.bz2 samba-1a5eafba13fa54dd44626625886d1e7a4adf5a2c.zip |
s4-libnet: Move to talloc_get_type_abort()
The NULL pointer dereference from talloc_get_type() might be free, but the
information on the actual and expected types from talloc_get_type_abort()
is priceless! :-)
Andrew Bartlett
Diffstat (limited to 'source4/libnet/userinfo.c')
-rw-r--r-- | source4/libnet/userinfo.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source4/libnet/userinfo.c b/source4/libnet/userinfo.c index 8d9c841997..77a88ecec4 100644 --- a/source4/libnet/userinfo.c +++ b/source4/libnet/userinfo.c @@ -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,7 +123,7 @@ 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); @@ -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; } |