[PATCH] string: Fix memory leak in argz-addsep.c

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Mon Jun 22 16:16:17 GMT 2026



On 19/06/26 10:11, Samuel Balazi wrote:
> Assign the realloc result to a temporary variable, so the original
> memory block is not lost if the allocation fails.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  string/argz-addsep.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/string/argz-addsep.c b/string/argz-addsep.c
> index 509559dee4..a077d9c7c0 100644
> --- a/string/argz-addsep.c
> +++ b/string/argz-addsep.c
> @@ -30,10 +30,12 @@ __argz_add_sep (char **argz, size_t *argz_len, const char *string, int delim)
>      {
>        const char *rp;
>        char *wp;
> +      char *tmp_argz;
>  
> -      *argz = (char *) realloc (*argz, *argz_len + nlen);
> -      if (*argz == NULL)
> +      tmp_argz = (char *) realloc (*argz, *argz_len + nlen);
> +      if (tmp_argz == NULL)
>  	return ENOMEM;
> +      *argz = tmp_argz;
>  
>        wp = *argz + *argz_len;
>        rp = string;



More information about the Libc-alpha mailing list