From: Michael Chang Date: Wed, 1 Mar 2023 09:23:08 +0000 (+0800) Subject: osdep/devmapper/getroot: Fix build error on 32-bit host X-Git-Tag: grub-2.12-rc1~114 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=88478417315b652850e36ff7f3f63f6bcf399e84;p=thirdparty%2Fgrub.git osdep/devmapper/getroot: Fix build error on 32-bit host The gcc build has failed for 32-bit host (e.g. i386-emu and arm-emu) due to mismatch between format specifier and data type. ../grub-core/osdep/devmapper/getroot.c: In function 'grub_util_pull_devmapper': ../grub-core/osdep/devmapper/getroot.c:265:75: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Werror=format=] ../grub-core/osdep/devmapper/getroot.c:276:80: error: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Werror=format=] This patch fixes the problem by casting the type of calculated offset to grub_size_t and use platform PRIuGRUB_SIZE as format specifier. Signed-off-by: Michael Chang Reviewed-by: Daniel Kiper --- diff --git a/grub-core/osdep/devmapper/getroot.c b/grub-core/osdep/devmapper/getroot.c index cc3f7daff..3b37336bc 100644 --- a/grub-core/osdep/devmapper/getroot.c +++ b/grub-core/osdep/devmapper/getroot.c @@ -262,7 +262,7 @@ grub_util_pull_devmapper (const char *os_dev) params); cipher = grub_strndup (c, seek_head - c); if (cipher == NULL) - grub_util_error (_("could not strndup cipher of length `%lu'"), seek_head - c); + grub_util_error (_("could not strndup cipher of length `%" PRIuGRUB_SIZE "'"), (grub_size_t) (seek_head - c)); remaining -= seek_head - c + 1; c = seek_head + 1; @@ -273,7 +273,7 @@ grub_util_pull_devmapper (const char *os_dev) params); cipher_mode = grub_strndup (c, seek_head - c); if (cipher_mode == NULL) - grub_util_error (_("could not strndup cipher_mode of length `%lu'"), seek_head - c); + grub_util_error (_("could not strndup cipher_mode of length `%" PRIuGRUB_SIZE "'"), (grub_size_t) (seek_head - c)); remaining -= seek_head - c + 1; c = seek_head + 1;