Hi Mark,

On Mon, May 4, 2026 at 11:26 AM Mark Wielaard <[email protected]> wrote:
>
> In report_r_debug we don't fully handle an out of memory condition
> when trying to allocate memory for the r_debug_info_module struct.
> Deallocated allocated buffers and return -1 immediately instead of
> trying to continue.
>
>         * libdwfl/link_map.c (report_r_debug): Call release_buffer
>         with -1 and return on malloc failure.
>
> Signed-off-by: Mark Wielaard <[email protected]>

LGTM.

Aaron

> ---
>  libdwfl/link_map.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
> index 5f9341318bde..1f4fbe462a08 100644
> --- a/libdwfl/link_map.c
> +++ b/libdwfl/link_map.c
> @@ -405,8 +405,8 @@ report_r_debug (uint_fast8_t elfclass, uint_fast8_t 
> elfdata,
>           r_debug_info_module = malloc (sizeof (*r_debug_info_module)
>                                         + strlen (name1) + 1);
>           if (unlikely (r_debug_info_module == NULL))
> -           release_buffer (&memory_closure, &buffer,
> -                            &buffer_available, result);
> +           return release_buffer (&memory_closure, &buffer,
> +                                  &buffer_available, -1);
>           r_debug_info_module->fd = -1;
>           r_debug_info_module->elf = NULL;
>           r_debug_info_module->l_ld = l_ld;
> --
> 2.54.0
>

Reply via email to