summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2025-03-04 16:57:46 +1100
committerChristian Brauner <brauner@kernel.org>2025-03-08 12:13:25 +0100
commitfcc155008a20fa31b01569e105250490750f0687 (patch)
treedea8dd360875da10c7ffced37e7daccafae0adfd /lib
parent83c0b27266ecfe8366d849be77ff6ff8f702ffed (diff)
vsprintf: add simple_strntoul
cpio extraction currently does a memcpy to ensure that the archive hex fields are null terminated for simple_strtoul(). simple_strntoul() will allow us to avoid the memcpy. Signed-off-by: David Disseldorp <ddiss@suse.de> Link: https://lore.kernel.org/r/20250304061020.9815-4-ddiss@suse.de Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/vsprintf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 56fe96319292..734bd70c8b9b 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -114,6 +114,13 @@ unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base)
}
EXPORT_SYMBOL(simple_strtoul);
+unsigned long simple_strntoul(const char *cp, char **endp, unsigned int base,
+ size_t max_chars)
+{
+ return simple_strntoull(cp, endp, base, max_chars);
+}
+EXPORT_SYMBOL(simple_strntoul);
+
/**
* simple_strtol - convert a string to a signed long
* @cp: The start of the string