2004-12-13 Marco Gerards <metgerards@student.han.nl>
* fs/ext2.c (grub_ext2_open): Don't use data after freeing it. (grub_ext2_dir): Likewise. Don't return in case of an error, jump to fail instead. Reported by Vincent Pelletier <subdino2004@yahoo.fr>. * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when it is not allocated. Reported by Vincent Pelletier <subdino2004@yahoo.fr>. * normal/cmdline.c (grub_tab_complete): Add a blank line to the output so the output looks better.
This commit is contained in:
parent
3f1578fe4a
commit
4ceb3636de
4 changed files with 18 additions and 6 deletions
|
@ -509,9 +509,9 @@ grub_ext2_open (struct grub_file *file, const char *name)
|
|||
return 0;
|
||||
|
||||
fail:
|
||||
grub_free (data);
|
||||
if (fdiro != &data->diropen)
|
||||
grub_free (fdiro);
|
||||
grub_free (data);
|
||||
|
||||
#ifndef GRUB_UTIL
|
||||
grub_dl_unref (my_mod);
|
||||
|
@ -580,14 +580,14 @@ grub_ext2_dir (grub_device_t device, const char *path,
|
|||
grub_fshelp_find_file (path, &data->diropen, &fdiro, grub_ext2_iterate_dir,
|
||||
grub_ext2_read_symlink, GRUB_FSHELP_DIR);
|
||||
if (grub_errno)
|
||||
return grub_errno;
|
||||
goto fail;
|
||||
|
||||
grub_ext2_iterate_dir (fdiro, iterate);
|
||||
|
||||
fail:
|
||||
grub_free (data);
|
||||
if (fdiro != &data->diropen)
|
||||
grub_free (fdiro);
|
||||
grub_free (data);
|
||||
|
||||
#ifndef GRUB_UTIL
|
||||
grub_dl_unref (my_mod);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue