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

Samuel Balazi samko.balazi@gmail.com
Fri Jun 19 13:11:39 GMT 2026


Assign the realloc result to a temporary variable, so the original
memory block is not lost if the allocation fails.
---
 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;
-- 
2.54.0



More information about the Libc-alpha mailing list