From c5d09afecf985191050c00713d22d744dfeff401 Mon Sep 17 00:00:00 2001 From: Garrett Wollman Date: Wed, 13 Aug 2014 02:20:02 -0400 Subject: [PATCH] afsd: correct printf format mismatch in debugging printf On platforms where size_t is unsigned int, the type of cacheFiles * sizeof(AFSD_INO_T) is not an unsigned long as the format string requires. Casting cacheFiles to unsigned long ensures that the result is at least unsigned long, although it will still be wrong if any architecture makes size_t be long long. Fixes build for FreeBSD 10 on i386. Reviewed-on: http://gerrit.openafs.org/11384 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk Reviewed-by: Jeffrey Altman (cherry picked from commit f02beb8d644ec2a52bf21737a040321905a39e20) Change-Id: I1e874f7f049e2fdfdfbe9e6413d421a5e1a5b249 Reviewed-on: http://gerrit.openafs.org/11403 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot Reviewed-by: Chas Williams - CONTRACTOR Reviewed-by: D Brashear Reviewed-by: Andrew Deason Reviewed-by: Stephan Wiesand --- src/afsd/afsd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 2147330d8..141dc6974 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -2121,7 +2121,8 @@ afsd_run(void) memset(inode_for_V, '\0', (cacheFiles * sizeof(AFSD_INO_T))); if (afsd_debug) printf("%s: %d inode_for_V entries at %p, %lu bytes\n", rn, - cacheFiles, inode_for_V, (cacheFiles * sizeof(AFSD_INO_T))); + cacheFiles, inode_for_V, + (unsigned long)cacheFiles * sizeof(AFSD_INO_T)); #endif if (!(cacheFlags & AFSCALL_INIT_MEMCACHE)) { -- 2.39.5