|
From: | Vladimir 'phcoder' Serbinenko |
Subject: | Re: [PATCH] ls: prevent double open |
Date: | Wed, 18 Oct 2017 16:32:19 +0000 |
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 <address@hidden>
---
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;
grub_normal_print_device_info (device_name);
}
else if (fs)
--
1.7.1
[Prev in Thread] | Current Thread | [Next in Thread] |