mirror of
https://github.com/SELinuxProject/selinux
synced 2025-01-25 14:53:05 +00:00
libselinux: Fix integer comparison issues when compiling for 32-bit
Trying to compile libselinux for 32-bit produces the following error: selinux_restorecon.c:1194:31: error: comparison of integer expressions of different signedness: ‘__fsword_t’ {aka ‘int’} and ‘unsigned int’ [-Werror=sign-compare] 1194 | if (state.sfsb.f_type == RAMFS_MAGIC || state.sfsb.f_type == TMPFS_MAGIC || | ^~ Since RAMFS_MAGIC = 0x858458f6 == 2240043254, which > 2^31, but < 2^32, cast both as uint32_t for the comparison. Reported-by: Daniel Schepler Signed-off-by: James Carter <jwcart2@gmail.com> Reviewed-by: Christian Göttsche <cgzones@googlemail.com> Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
This commit is contained in:
parent
84a33fb96b
commit
017d7d5347
@ -1191,8 +1191,8 @@ static int selinux_restorecon_common(const char *pathname_orig,
|
||||
}
|
||||
|
||||
/* Skip digest on in-memory filesystems and /sys */
|
||||
if (state.sfsb.f_type == RAMFS_MAGIC || state.sfsb.f_type == TMPFS_MAGIC ||
|
||||
state.sfsb.f_type == SYSFS_MAGIC)
|
||||
if ((uint32_t)state.sfsb.f_type == (uint32_t)RAMFS_MAGIC ||
|
||||
state.sfsb.f_type == TMPFS_MAGIC || state.sfsb.f_type == SYSFS_MAGIC)
|
||||
state.setrestorecondigest = false;
|
||||
|
||||
if (state.flags.set_xdev)
|
||||
@ -1490,7 +1490,7 @@ int selinux_restorecon_xattr(const char *pathname, unsigned int xattr_flags,
|
||||
|
||||
if (!recurse) {
|
||||
if (statfs(pathname, &sfsb) == 0) {
|
||||
if (sfsb.f_type == RAMFS_MAGIC ||
|
||||
if ((uint32_t)sfsb.f_type == (uint32_t)RAMFS_MAGIC ||
|
||||
sfsb.f_type == TMPFS_MAGIC)
|
||||
return 0;
|
||||
}
|
||||
@ -1525,7 +1525,7 @@ int selinux_restorecon_xattr(const char *pathname, unsigned int xattr_flags,
|
||||
continue;
|
||||
case FTS_D:
|
||||
if (statfs(ftsent->fts_path, &sfsb) == 0) {
|
||||
if (sfsb.f_type == RAMFS_MAGIC ||
|
||||
if ((uint32_t)sfsb.f_type == (uint32_t)RAMFS_MAGIC ||
|
||||
sfsb.f_type == TMPFS_MAGIC)
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user