1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

smbd: Convert get_share_mode_blob_header() to use a const ptr

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Volker Lendecke
2020-04-24 08:55:35 +02:00
committed by Ralph Boehme
parent 7905afcd77
commit 955b3c3de9

View File

@ -211,9 +211,12 @@ static void share_mode_memcache_store(struct share_mode_data *d)
*/
static enum ndr_err_code get_share_mode_blob_header(
DATA_BLOB *blob, uint64_t *pseq, uint16_t *pflags)
const uint8_t *buf, size_t buflen, uint64_t *pseq, uint16_t *pflags)
{
struct ndr_pull ndr = {.data = blob->data, .data_size = blob->length};
struct ndr_pull ndr = {
.data = discard_const_p(uint8_t, buf),
.data_size = buflen,
};
NDR_CHECK(ndr_pull_hyper(&ndr, NDR_SCALARS, pseq));
NDR_CHECK(ndr_pull_uint16(&ndr, NDR_SCALARS, pflags));
return NDR_ERR_SUCCESS;
@ -228,11 +231,10 @@ static void fsp_update_share_mode_flags_fn(
TDB_DATA value, bool *modified_dependent, void *private_data)
{
struct fsp_update_share_mode_flags_state *state = private_data;
DATA_BLOB blob = { .data = value.dptr, .length = value.dsize };
uint64_t seq;
state->ndr_err = get_share_mode_blob_header(
&blob, &seq, &state->share_mode_flags);
value.dptr, value.dsize, &seq, &state->share_mode_flags);
}
static NTSTATUS fsp_update_share_mode_flags(struct files_struct *fsp)
@ -313,7 +315,8 @@ static struct share_mode_data *share_mode_memcache_fetch(TALLOC_CTX *mem_ctx,
return NULL;
}
/* sequence number key is at start of blob. */
ndr_err = get_share_mode_blob_header(blob, &sequence_number, &flags);
ndr_err = get_share_mode_blob_header(
blob->data, blob->length, &sequence_number, &flags);
if (ndr_err != NDR_ERR_SUCCESS) {
/* Bad blob. Remove entry. */
DBG_DEBUG("bad blob %u key %s\n",