Message ID | 20210727174129.3612656-2-siddhesh@sourceware.org |
---|---|
State | New |
Headers | show |
Series | Static analysis fixes | expand |
Hi Siddhesh, > --- > elf/ldconfig.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/elf/ldconfig.c b/elf/ldconfig.c > index 1037e8d0cf..b8893637f8 100644 > --- a/elf/ldconfig.c > +++ b/elf/ldconfig.c > @@ -503,7 +503,11 @@ add_dir_1 (const char *line, const char *from_file, int from_line) > entry->path[--i] = '\0'; > > if (i == 0) > - return; > + { > + free (entry->path); > + free (entry); > + return; > + } > > char *path = entry->path; > if (opt_chroot != NULL) This looks good to me. entry and entry->path are allocated earlier via xmalloc and xstrdup respectively and this frees them prior to an early conditional return. Reviewed-by: Arjun Shankar <arjun@redhat.com> Cheers!
diff --git a/elf/ldconfig.c b/elf/ldconfig.c index 1037e8d0cf..b8893637f8 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -503,7 +503,11 @@ add_dir_1 (const char *line, const char *from_file, int from_line) entry->path[--i] = '\0'; if (i == 0) - return; + { + free (entry->path); + free (entry); + return; + } char *path = entry->path; if (opt_chroot != NULL)