[PATCH v3 0/4] Make sscanf() stricter

From: Demi Marie Obenour
Date: Sat Jun 10 2023 - 16:40:58 EST


Roger Pau Monné suggested making xenbus_scanf() stricter instead of
using a custom parser. Christoph Hellwig asked why the normal vsscanf()
cannot be made stricter. Richard Weinberger mentioned Linus Torvalds’s
suggestion of using ! to allow overflow.

Changes since v2:

- Better commit messages.
- Fix a compile error in simple_strtoll() (found by 0day bot).
- Fix an uninitialized variable (found by Dan Carpenter).

Changes since v1:

- Better commit messages.
- Use ! to explicitly opt-in to allowing overflow.
- Treat overflow as a conversion failure instead of returning ERANGE.
- Drop the first patch (removal of simple_strtoll()) as it breaks
bcache.
- Stop skipping spaces in vsscanf() instead of adding a separate
vsscanf_strict() function.

Demi Marie Obenour (4):
limits.h: add UCHAR_MAX, SCHAR_MAX, and SCHAR_MIN
vsscanf(): Integer overflow is a conversion failure
vsscanf(): do not skip spaces
Reject NUL bytes in xenstore nodes

.../hive_isp_css_include/platform_support.h | 1 -
drivers/xen/xenbus/xenbus_xs.c | 17 +++-
include/linux/limits.h | 1 +
include/linux/mfd/wl1273-core.h | 3 -
include/vdso/limits.h | 3 +
lib/vsprintf.c | 98 +++++++++++++------
6 files changed, 86 insertions(+), 37 deletions(-)

--
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab