On Sat, Nov 19, 2022 at 06:39:40PM +0800, t.feng via Grub-devel wrote: > Fix memory leaks in grub_minix_lookup_symlink. > > Fixes: a07e6ad01(Remove variable length arrays) > > Signed-off-by: "t.feng" <fengta...@huawei.com> > --- > grub-core/fs/minix.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/grub-core/fs/minix.c b/grub-core/fs/minix.c > index 953df1191..2176b6e93 100644 > --- a/grub-core/fs/minix.c > +++ b/grub-core/fs/minix.c > @@ -374,7 +374,10 @@ grub_minix_lookup_symlink (struct grub_minix_data *data, > grub_minix_ino_t ino) > if (!symlink) > return grub_errno; > if (grub_minix_read_file (data, 0, 0, 0, sz, symlink) < 0) > - return grub_errno; > + { > + grub_free (symlink); > + return grub_errno; > + } > > symlink[sz] = '\0'; > > @@ -384,10 +387,14 @@ grub_minix_lookup_symlink (struct grub_minix_data > *data, grub_minix_ino_t ino) > > /* Now load in the old inode. */ > if (grub_minix_read_inode (data, ino)) > - return grub_errno; > + { > + grub_free (symlink); > + return grub_errno; > + } > > grub_minix_find_file (data, symlink); >
This could be made simpler. Just add a label "fail" here and grub_free(symlink) underneath. Then add "goto fail" above. > + grub_free (symlink); > return grub_errno; > } Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel