From 1d39994398a886584c5fb14b3a646c4ae6b0d35c Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Mon, 8 Apr 2019 11:03:09 +0200 Subject: [PATCH] src: fix format string warnings when building for 32bit architectures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Building currently gives the following warnings (which fails the build because of Werror) about format string mismatches: src/tpm2-totp.c:343:23: error: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Werror=format=] printf("%s%06ld", timestr, totp); ~~~~^ ~~~~ %06lld src/libtpm2-totp.c: In function ‘tpm2totp_generateKey’: src/libtpm2-totp.c:172:13: error: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t’ {aka ‘unsigned int’} [-Werror=format=] dbg("Calling Esys_GetRandom for %li bytes", SECRETLEN - *secret_size); ~~^ %i Fix it by using PRIu64 from inttypes.h for uint64_t and %zu for size_t. Signed-off-by: Peter Korsgaard --- src/libtpm2-totp.c | 2 +- src/tpm2-totp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libtpm2-totp.c b/src/libtpm2-totp.c index e740ab1..6942771 100644 --- a/src/libtpm2-totp.c +++ b/src/libtpm2-totp.c @@ -169,7 +169,7 @@ tpm2totp_generateKey(uint32_t pcrs, uint32_t banks, const char *password, if (rc != TPM2_RC_INITIALIZE) chkrc(rc, goto error); while (*secret_size < SECRETLEN) { - dbg("Calling Esys_GetRandom for %li bytes", SECRETLEN - *secret_size); + dbg("Calling Esys_GetRandom for %zu bytes", SECRETLEN - *secret_size); rc = Esys_GetRandom(ctx, ESYS_TR_NONE, ESYS_TR_NONE, ESYS_TR_NONE, SECRETLEN - *secret_size, &t); diff --git a/src/tpm2-totp.c b/src/tpm2-totp.c index 47b661a..d5dcdce 100644 --- a/src/tpm2-totp.c +++ b/src/tpm2-totp.c @@ -340,7 +340,7 @@ main(int argc, char **argv) localtime (&now)); chkrc(rc, exit(1)); } - printf("%s%06ld", timestr, totp); + printf("%s%06" PRIu64, timestr, totp); break; case CMD_RESEAL: rc = tpm2totp_loadKey_nv(opt.nvindex, &keyBlob, &keyBlob_size); -- 2.11.0