From: Volker Lendecke Date: Fri, 24 Apr 2020 06:55:35 +0000 (+0200) Subject: smbd: Convert get_share_mode_blob_header() to use a const ptr X-Git-Tag: ldb-2.2.0~736 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=955b3c3de9a0835372ba908ebe4dd1e4e1014401;p=thirdparty%2Fsamba.git smbd: Convert get_share_mode_blob_header() to use a const ptr Signed-off-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c index 5b6c02a31a1..bbe22db10e5 100644 --- a/source3/locking/share_mode_lock.c +++ b/source3/locking/share_mode_lock.c @@ -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",