mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
lib/string_helpers: drop redundant allocation in kasprintf_strarray
kasprintf_strarray() returns an array of N strings and kfree_strarray() also frees N entries. However, kasprintf_strarray() currently allocates N+1 char pointers. Allocate exactly N pointers instead of N+1. Also update the kernel-doc for @n. Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Link: https://patch.msgid.link/20260415122542.370926-4-thorsten.blum@linux.dev Signed-off-by: Kees Cook <kees@kernel.org>
This commit is contained in:
@@ -752,7 +752,7 @@ EXPORT_SYMBOL_GPL(kstrdup_and_replace);
|
||||
* kasprintf_strarray - allocate and fill array of sequential strings
|
||||
* @gfp: flags for the slab allocator
|
||||
* @prefix: prefix to be used
|
||||
* @n: amount of lines to be allocated and filled
|
||||
* @n: number of strings to be allocated and filled
|
||||
*
|
||||
* Allocates and fills @n strings using pattern "%s-%zu", where prefix
|
||||
* is provided by caller. The caller is responsible to free them with
|
||||
@@ -765,7 +765,7 @@ char **kasprintf_strarray(gfp_t gfp, const char *prefix, size_t n)
|
||||
char **names;
|
||||
size_t i;
|
||||
|
||||
names = kcalloc(n + 1, sizeof(char *), gfp);
|
||||
names = kcalloc(n, sizeof(char *), gfp);
|
||||
if (!names)
|
||||
return NULL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user