From 3693cbacf79fd450acb3f3d22574122d576995ca Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 18 Dec 2020 18:47:44 +0900 Subject: [PATCH] memory-id: fix never hit condition As sizeof(int64_t) is always 8. --- src/udev/dmi_memory_id/dmi_memory_id.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/udev/dmi_memory_id/dmi_memory_id.c b/src/udev/dmi_memory_id/dmi_memory_id.c index 5529daa602..c5bea8c9a8 100644 --- a/src/udev/dmi_memory_id/dmi_memory_id.c +++ b/src/udev/dmi_memory_id/dmi_memory_id.c @@ -602,8 +602,11 @@ static int smbios3_decode(const uint8_t *buf, const char *devmem, bool no_file_o return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to verify checksum."); offset = QWORD(buf + 0x10); - if (!no_file_offset && (offset >> 32) != 0 && sizeof(int64_t) < 8) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "64-bit addresses not supported."); + +#if __SIZEOF_SIZE_T__ != 8 + if (!no_file_offset && (offset >> 32) != 0) + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "64-bit addresses not supported on 32-bit systems."); +#endif return dmi_table(offset, DWORD(buf + 0x0C), 0, devmem, no_file_offset); }