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:
marco_g 2004-12-13 17:26:17 +00:00
parent 3f1578fe4a
commit 4ceb3636de
4 changed files with 18 additions and 6 deletions

View file

@ -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);