From: Bartosz Golaszewski Date: Mon, 21 Oct 2024 09:14:17 +0000 (+0200) Subject: lib: string_helpers: fix potential snprintf() output truncation X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b15272e82d70eb814ec628bde17ebb232408d247;p=users%2Fjedix%2Flinux-maple.git lib: string_helpers: fix potential snprintf() output truncation The output of ".%03u" with the unsigned int in range [0, 4294966295] may get truncated if the target buffer is not 12 bytes. Link: https://lkml.kernel.org/r/20241021091417.37796-1-brgl@bgdev.pl Fixes: 3c9f3681d0b4 ("[SCSI] lib: add generic helper to print sizes rounded to the correct SI range") Signed-off-by: Bartosz Golaszewski Reviewed-by: Andy Shevchenko Cc: James E.J. Bottomley Cc: Kees Cook Cc: Signed-off-by: Andrew Morton --- diff --git a/lib/string_helpers.c b/lib/string_helpers.c index 4f887aa62fa0c..91fa37b5c510a 100644 --- a/lib/string_helpers.c +++ b/lib/string_helpers.c @@ -57,7 +57,7 @@ int string_get_size(u64 size, u64 blk_size, const enum string_size_units units, static const unsigned int rounding[] = { 500, 50, 5 }; int i = 0, j; u32 remainder = 0, sf_cap; - char tmp[8]; + char tmp[12]; const char *unit; tmp[0] = '\0';