ls: prevent double open
authorEric Snowberg <eric.snowberg@oracle.com>
Mon, 13 Nov 2017 16:27:28 +0000 (08:27 -0800)
committerDaniel Kiper <daniel.kiper@oracle.com>
Fri, 24 Nov 2017 15:18:29 +0000 (16:18 +0100)
commit3d8df86d825ff07a8eeb202329b8731fd1a4a24e
tree0c5d04416bc1acdffeaf3d55492ec9155e3fd0f1
parent446794de8da4329ea532cbee4ca877bcafd0e534
ls: prevent double open

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 <eric.snowberg@oracle.com>
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/commands/ls.c