| From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> |
| Subject: lib: string_helpers: fix potential snprintf() output truncation |
| Date: Mon, 21 Oct 2024 11:14:17 +0200 |
| |
| 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 <bartosz.golaszewski@linaro.org> |
| Reviewed-by: Andy Shevchenko <andy@kernel.org> |
| Cc: James E.J. Bottomley <James.Bottomley@HansenPartnership.com> |
| Cc: Kees Cook <kees@kernel.org> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| lib/string_helpers.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/lib/string_helpers.c~lib-string_helpers-fix-potential-snprintf-output-truncation |
| +++ a/lib/string_helpers.c |
| @@ -57,7 +57,7 @@ int string_get_size(u64 size, u64 blk_si |
| 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'; |
| _ |