]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
memory-id: fix never hit condition
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 18 Dec 2020 09:47:44 +0000 (18:47 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 18 Dec 2020 14:13:21 +0000 (23:13 +0900)
As sizeof(int64_t) is always 8.

src/udev/dmi_memory_id/dmi_memory_id.c

index 5529daa602fbdf7987b5961960885c83eacc153e..c5bea8c9a8080100bd2f75880cd5e0d62bc44a2a 100644 (file)
@@ -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);
 }