util/u_printf: fix memory leak in u_printf_singleton_add_serialized
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

info->arg_sizes and info->strings were leaked because they were
allocated in the global context.

Fixes: 007f60c8b8 ("util/u_printf: add singleton implementation")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34987>
This commit is contained in:
Olivia Lee 2025-05-14 13:44:33 -07:00 committed by Marge Bot
parent 1895de16a6
commit 22fb7eaa8c

View file

@ -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);
}