[PATCH net] dccp: Allocate enough data in ccid_get_builtin_ccids()

Dan Carpenter
2023-07-26T10:47:02Z

This is allocating the ARRAY_SIZE() instead of the number of bytes. The
array size is 1 or 2 depending on the .config and it should allocate
8 or 16 bytes instead.

Fixes: ddebc973c56b ("dccp: Lockless integration of CCID congestion-control plugins")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
net/dccp/ccid.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/dccp/ccid.c b/net/dccp/ccid.c
index 6beac5d348e2..9067958d3857 100644
--- a/net/dccp/ccid.c
+++ b/net/dccp/ccid.c
@@ -48,7 +48,8 @@ bool ccid_support_check(u8 const *ccid_array, u8 array_len)
*/
int ccid_get_builtin_ccids(u8 **ccid_array, u8 *array_len)
{
- *ccid_array = kmalloc(ARRAY_SIZE(ccids), gfp_any());
+ *ccid_array = kmalloc_array(ARRAY_SIZE(ccids), sizeof(*ccid_array),
+ gfp_any());
if (*ccid_array = NULL)
return -ENOBUFS;

--
2.39.2