[PATCH 0/1] lib/vsprintf: Fixes size check
From: Masami Hiramatsu (Google)
Date: Thu Mar 19 2026 - 23:52:24 EST
Hi,
Here is a pair of patches to fix vsnprintf().
- Fix to limit the size of width and precision.
- Warn if the return size is over INT_MAX.
Recently we discussed snprintf() usage in bootconfig and found snprintf()
design has a problem[1]. It returns the required or printed size in 'int'
but the maxlen is passed by 'size_t'. The maxlen is already limited by
INT_MAX, but if the expected print size becomes bigger than INT_MAX,
it can return negative value. We also found width and precision size check
does not work.
[1] https://lore.kernel.org/all/20260317121507.30735331@xxxxxxxxxxxxxxxxxx/
Thank you,
---
Masami Hiramatsu (Google) (2):
lib/vsprintf: Fix to check field_width and precision
lib/vsprintf: Limit the returning size to INT_MAX
lib/vsprintf.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>