From 756479043de59fdad988598f20d06e78b7da75ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 4 Mar 2019 15:42:58 +0100 Subject: [PATCH] sd-hwdb: fix off_t vs. size_t confusion in cast > on 32bit, size_t is 32bit, but .st_size is off_t hence 64bit --- src/libsystemd/sd-hwdb/sd-hwdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsystemd/sd-hwdb/sd-hwdb.c b/src/libsystemd/sd-hwdb/sd-hwdb.c index 64aaf014545..d8c37c3fd47 100644 --- a/src/libsystemd/sd-hwdb/sd-hwdb.c +++ b/src/libsystemd/sd-hwdb/sd-hwdb.c @@ -333,7 +333,7 @@ _public_ int sd_hwdb_new(sd_hwdb **ret) { if (fstat(fileno(hwdb->f), &hwdb->st) < 0) return log_debug_errno(errno, "Failed to stat %s: %m", hwdb_bin_path); - if ((size_t) hwdb->st.st_size < offsetof(struct trie_header_f, strings_len) + 8) + if (hwdb->st.st_size < (off_t) offsetof(struct trie_header_f, strings_len) + 8) return log_debug_errno(SYNTHETIC_ERRNO(EIO), "File %s is too short: %m", hwdb_bin_path); -- 2.47.3