From 82c14b9a667174f044b7421e6e081ad323720a67 Mon Sep 17 00:00:00 2001 From: Cheyenne Wills Date: Wed, 11 May 2022 08:48:52 -0600 Subject: [PATCH] afsd: Avoid fscanf overflows when paring cacheinfo clang-14 is producing the following diagnostic: afsd.c:581:44: error: 'fscanf' may overflow; destination buffer in argument 3 has size 1024, but the corresponding specifier may require size 1025 [-Werror,-Wfortify-source] fscanf(cachefd, "%1024[^:]:%1024[^:]:%d", tCacheMountDir, fscanf is being used to parse the contents of a file and the buffer sizes are hardcoded. Simply increase the size of the 2 buffers by 1. The diagnostic warning is changed to an error when configured with --enable-checking. Change-Id: Iefbc4e87242232531a266e876fe779476b42fb62 Reviewed-on: https://gerrit.openafs.org/14958 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- src/afsd/afsd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 0d2976742a..06cd96d603 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -559,7 +559,7 @@ ParseCacheInfoFile(void) FILE *cachefd; /*Descriptor for cache info file */ int parseResult; /*Result of our fscanf() */ int tCacheBlocks; - char tCacheBaseDir[1024], *tbd, tCacheMountDir[1024], *tmd; + char tCacheBaseDir[1025], *tbd, tCacheMountDir[1025], *tmd; if (afsd_debug) printf("%s: Opening cache info file '%s'...\n", rn, fullpn_CacheInfo);