On Mon, Oct 16, 2017 at 01:11:12PM -0700, Eric Snowberg wrote:
> Prevent a double open.  This can cause problems with some ieee1275
> devices, causing the system to hang.  The double open can occur
> as follows:
>
> grub_ls_list_files (char *dirname, int longlist, int all, int human)
>        dev = grub_device_open (device_name);
>        dev remains open while:
>        grub_normal_print_device_info (device_name);
>                 dev = grub_device_open (name);
>
> Signed-off-by: Eric Snowberg <[email protected]>

In general LGTM. One nitpick...

> ---
>  grub-core/commands/ls.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
> index 0eaf836..a7318ab 100644
> --- a/grub-core/commands/ls.c
> +++ b/grub-core/commands/ls.c
> @@ -201,6 +201,8 @@ grub_ls_list_files (char *dirname, int longlist, int all, 
> int human)
>        if (grub_errno == GRUB_ERR_UNKNOWN_FS)
>       grub_errno = GRUB_ERR_NONE;
>
> +      grub_device_close (dev);
> +      dev = NULL;

I would put a comment before why it is needed.

Thanks,

Daniel

_______________________________________________
Grub-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to