X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f57ab2f71889ca2e0f3f6c2c784e7ff76db20db0..2042c632512e47cb7bfa3aa6131b89c2e9829820:/acls.c diff --git a/acls.c b/acls.c index 4fc46d3f..04cff88a 100644 --- a/acls.c +++ b/acls.c @@ -390,13 +390,10 @@ static BOOL pack_smb_acl(SMB_ACL_T *smb_acl, const rsync_acl *racl) break; #endif COE( sys_acl_create_entry,(smb_acl, &entry) ); - COE( sys_acl_set_info,(entry, -#ifdef SMB_ACL_NEED_SORT - SMB_ACL_USER, -#else - ida->access & NAME_IS_USER ? SMB_ACL_USER : SMB_ACL_GROUP, -#endif - ida->access & ~NAME_IS_USER, ida->id) ); + COE( sys_acl_set_info, + (entry, + ida->access & NAME_IS_USER ? SMB_ACL_USER : SMB_ACL_GROUP, + ida->access & ~NAME_IS_USER, ida->id) ); } #ifndef HAVE_OSX_ACLS @@ -479,8 +476,10 @@ static int get_rsync_acl(const char *fname, rsync_acl *racl, if ((buf = get_xattr_acl(fname, type == SMB_ACL_TYPE_ACCESS, &len)) == NULL) return 0; cnt = (len - 4*4) / (4+4); - if (len < 4*4 || len != (size_t)cnt*(4+4) + 4*4) + if (len < 4*4 || len != (size_t)cnt*(4+4) + 4*4) { + free(buf); return -1; + } racl->user_obj = IVAL(buf, 0); racl->group_obj = IVAL(buf, 4);