]> git.ipfire.org Git - thirdparty/samba.git/commit
sysacls: change datatypes to 32 bits
authorUri Simchoni <uri@samba.org>
Tue, 5 Dec 2017 18:56:49 +0000 (20:56 +0200)
committerKarolin Seeger <kseeger@samba.org>
Tue, 2 Jan 2018 09:01:10 +0000 (10:01 +0100)
commita3dc640c9d5978f3746c570ca9e34c1c57fa83bc
tree05c64fa982e587300803c1e6221ac898eb9c687c
parente64528a915398c7d5ac6da508f7ebdf4faf7b444
sysacls: change datatypes to 32 bits

The SMB_ACL_PERMSET_T and SMB_ACL_PERM_T were defined as
mode_t, which is 16-bits on some (non-Linux) systems. However,
pidl *always* encodes mode_t as uint32_t. That created a bug on
big-endian systems as sys_acl_get_permset() returns a SMB_ACL_PERMSET_T
pointer to an internal a_perm structure member defined in IDL as a mode_t,
which pidl turns into a uin32_t in the emitted header file.

Changing to 32 bits fixes that.

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

Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(back-ported from commit 75e7da9741c529f96fa409655ac5b326a6c071c5)
source3/include/smb_acls.h