From 5a56ad9ff10d03bfde3d6828088e54b81953e4cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= Date: Tue, 5 Jul 2011 12:17:29 +0200 Subject: [PATCH] Silenced apparent out-of-range subscripts warned by gcc 4.6 --- ntfsprogs/sd.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/ntfsprogs/sd.c b/ntfsprogs/sd.c index bfc7341d..4e3af978 100644 --- a/ntfsprogs/sd.c +++ b/ntfsprogs/sd.c @@ -26,6 +26,7 @@ void init_system_file_sd(int sys_file_no, u8 **sd_val, int *sd_val_len) ACL *acl; ACCESS_ALLOWED_ACE *aa_ace; SID *sid; + le32 *sub_authorities; if (sys_file_no < 0) { *sd_val = NULL; @@ -120,9 +121,10 @@ void init_system_file_sd(int sys_file_no, u8 **sd_val, int *sd_val_len) aa_ace->sid.identifier_authority.value[3] = 0; aa_ace->sid.identifier_authority.value[4] = 0; aa_ace->sid.identifier_authority.value[5] = 5; - aa_ace->sid.sub_authority[0] = + sub_authorities = aa_ace->sid.sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - aa_ace->sid.sub_authority[1] = + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); /* * Now at offset 0x48 into the security descriptor, as specified in the @@ -153,8 +155,9 @@ void init_system_file_sd(int sys_file_no, u8 **sd_val, int *sd_val_len) sid->identifier_authority.value[3] = 0; sid->identifier_authority.value[4] = 0; sid->identifier_authority.value[5] = 5; - sid->sub_authority[0] = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - sid->sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); + sub_authorities = sid->sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); } /** @@ -171,6 +174,7 @@ void init_root_sd(u8 **sd_val, int *sd_val_len) ACL *acl; ACCESS_ALLOWED_ACE *ace; SID *sid; + le32 *sub_authorities; static char sd_array[0x102c]; *sd_val_len = 0x102c; @@ -213,9 +217,10 @@ void init_root_sd(u8 **sd_val, int *sd_val_len) ace->sid.identifier_authority.value[3] = 0; ace->sid.identifier_authority.value[4] = 0; ace->sid.identifier_authority.value[5] = 5; - ace->sid.sub_authority[0] = + sub_authorities = ace->sid.sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - ace->sid.sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); //ace2 ace = (ACCESS_ALLOWED_ACE*)((u8*)ace + le16_to_cpu(ace->size)); @@ -233,9 +238,10 @@ void init_root_sd(u8 **sd_val, int *sd_val_len) ace->sid.identifier_authority.value[3] = 0; ace->sid.identifier_authority.value[4] = 0; ace->sid.identifier_authority.value[5] = 5; - ace->sid.sub_authority[0] = + sub_authorities = ace->sid.sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - ace->sid.sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_ADMINS); //ace3 ace = (ACCESS_ALLOWED_ACE*)((u8*)ace + le16_to_cpu(ace->size)); @@ -335,9 +341,10 @@ void init_root_sd(u8 **sd_val, int *sd_val_len) ace->sid.identifier_authority.value[3] = 0; ace->sid.identifier_authority.value[4] = 0; ace->sid.identifier_authority.value[5] = 5; - ace->sid.sub_authority[0] = + sub_authorities = ace->sid.sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - ace->sid.sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_USERS); + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_USERS); //ace8 ace = (ACCESS_ALLOWED_ACE*)((u8*)ace + le16_to_cpu(ace->size)); @@ -355,9 +362,10 @@ void init_root_sd(u8 **sd_val, int *sd_val_len) ace->sid.identifier_authority.value[3] = 0; ace->sid.identifier_authority.value[4] = 0; ace->sid.identifier_authority.value[5] = 5; - ace->sid.sub_authority[0] = + sub_authorities = ace->sid.sub_authority; + *sub_authorities++ = const_cpu_to_le32(SECURITY_BUILTIN_DOMAIN_RID); - ace->sid.sub_authority[1] = const_cpu_to_le32(DOMAIN_ALIAS_RID_USERS); + *sub_authorities = const_cpu_to_le32(DOMAIN_ALIAS_RID_USERS); //owner sid sid = (SID*)((char*)sd + le32_to_cpu(sd->owner));