From 22fb7eaa8cdebd729f51799bb49ffacfde437775 Mon Sep 17 00:00:00 2001 From: Olivia Lee Date: Wed, 14 May 2025 13:44:33 -0700 Subject: [PATCH] util/u_printf: fix memory leak in u_printf_singleton_add_serialized info->arg_sizes and info->strings were leaked because they were allocated in the global context. Fixes: 007f60c8b8d ("util/u_printf: add singleton implementation") Signed-off-by: Olivia Lee Reviewed-by: Alyssa Rosenzweig Part-of: --- src/util/u_printf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/u_printf.c b/src/util/u_printf.c index 5c21fe56f6b..f3ae6ffd3bb 100644 --- a/src/util/u_printf.c +++ b/src/util/u_printf.c @@ -335,10 +335,10 @@ u_printf_deserialize_info(void *mem_ctx, u_printf_info *info = &printf_info[i]; info->num_args = blob_read_uint32(blob); info->string_size = blob_read_uint32(blob); - info->arg_sizes = ralloc_array(mem_ctx, unsigned, info->num_args); + info->arg_sizes = ralloc_array(printf_info, unsigned, info->num_args); blob_copy_bytes(blob, info->arg_sizes, info->num_args * sizeof(info->arg_sizes[0])); - info->strings = ralloc_array(mem_ctx, char, info->string_size); + info->strings = ralloc_array(printf_info, char, info->string_size); blob_copy_bytes(blob, info->strings, info->string_size); }