[SCM] Samba Shared Repository - branch master updated
Stefan (metze) Metzmacher
metze at samba.org
Tue Apr 27 01:26:53 MDT 2010
Hi Jeremy,
> - Log -----------------------------------------------------------------
> commit a94a4b788c3056068d0c8e42c55e990f418db666
> Author: Jeremy Allison <jra at samba.org>
> Date: Mon Apr 26 20:11:59 2010 -0700
>
> Plumb in get_nt_acl into SMB2.
>
> Jeremy.
> /* the levels directly map to the passthru levels */
> file_info_level = in_file_info_class + 1000;
> @@ -392,7 +408,59 @@ static struct tevent_req *smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
> break;
> }
>
> + case 0x03:/* SMB2_GETINFO_SEC */
> + {
> + uint8_t *p_marshalled_sd = NULL;
> + size_t sd_size = 0;
I think we should check in_file_info_class for the correct value here
and maybe return an error instead of ignoring it.
> + status = smbd_do_query_security_desc(conn,
> + state,
> + fsp,
> + /* Security info wanted. */
> + in_additional_information,
> + in_output_buffer_length,
> + &p_marshalled_sd,
> + &sd_size);
> +
> + if (NT_STATUS_EQUAL(status, NT_STATUS_BUFFER_TOO_SMALL)) {
> + /* Return needed size. */
> + state->out_output_buffer = data_blob_talloc(state,
> + NULL,
> + 4);
> + if (tevent_req_nomem(state->out_output_buffer.data, req)) {
> + return tevent_req_post(req, ev);
> + }
> + SIVAL(state->out_output_buffer.data,0,(uint32_t)sd_size);
> + state->status = NT_STATUS_BUFFER_TOO_SMALL;
> + break;
don't we need to make sure that in_output_buffer_length is at least 4?
> + }
> + if (!NT_STATUS_IS_OK(status)) {
> + DEBUG(10,("smbd_smb2_getinfo_send: "
> + "smbd_do_query_security_desc of %s failed "
> + "(%s)\n", fsp_str_dbg(fsp),
> + nt_errstr(status)));
> + tevent_req_nterror(req, status);
> + return tevent_req_post(req, ev);
> + }
> +
> + if (sd_size > 0) {
> + state->out_output_buffer = data_blob_talloc(state,
> + p_marshalled_sd,
> + sd_size);
> + if (tevent_req_nomem(state->out_output_buffer.data, req)) {
> + return tevent_req_post(req, ev);
> + }
> + }
can't we use talloc_move here and avoid a memdup?
metze
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100427/4bf60eaa/attachment.pgp>
More information about the samba-technical
mailing list