1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

s3: libsmb: Info level SMB_FIND_FILE_BOTH_DIRECTORY_INFO encodes attibutes as a uint32, not a uint8.

Cast to a uint16_t for now after pulling the information
as finfo->mode is currently only 16 bits.

We will need this to detect FILE_ATTRIBUTE_REPARSE_POINT in a later commit.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14391

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Jeremy Allison 2020-06-01 11:36:03 -07:00 committed by Ralph Boehme
parent 3063e1601a
commit 5e3e6c4c0c

View File

@ -257,7 +257,8 @@ static size_t interpret_long_filename(TALLOC_CTX *ctx,
finfo->size = IVAL2_TO_SMB_BIG_UINT(p,0);
p += 8;
p += 8; /* alloc size */
finfo->mode = CVAL(p,0);
/* NB. We need to enlarge finfo->mode to be 32-bits. */
finfo->mode = (uint16_t)IVAL(p,0);
p += 4;
namelen = IVAL(p,0);
p += 4;