From: Thorsten Blum Date: Wed, 15 Apr 2026 12:25:43 +0000 (+0200) Subject: lib/string_helpers: drop redundant allocation in kasprintf_strarray X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=233e1ab980269394bfa78191ac12446cc6a22683;p=thirdparty%2Fkernel%2Flinux.git 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 Link: https://patch.msgid.link/20260415122542.370926-4-thorsten.blum@linux.dev Signed-off-by: Kees Cook --- diff --git a/lib/string_helpers.c b/lib/string_helpers.c index 169eaf5834949..6a8db441b6fd1 100644 --- a/lib/string_helpers.c +++ b/lib/string_helpers.c @@ -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;