The grub_disk_read() function returns grub_errno. Without resetting
grub_errno when entering the function, grub_disk_read() might return
a previously set error code when it should return success.

Signed-off-by: Glenn Washburn <developm...@efficientek.com>
---
 grub-core/kern/disk.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/grub-core/kern/disk.c b/grub-core/kern/disk.c
index 1eda58fe9a1c..438909e21d07 100644
--- a/grub-core/kern/disk.c
+++ b/grub-core/kern/disk.c
@@ -417,6 +417,8 @@ grub_err_t
 grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector,
                grub_off_t offset, grub_size_t size, void *buf)
 {
+  grub_errno = GRUB_ERR_NONE;
+
   /* First of all, check if the region is within the disk.  */
   if (grub_disk_adjust_range (disk, &sector, &offset, size) != GRUB_ERR_NONE)
     {
-- 
2.34.1


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to