grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] fix attempt to seek outside of the file error when parsing xen E


From: Michael Chang
Subject: [PATCH] fix attempt to seek outside of the file error when parsing xen ELF notes
Date: Thu, 3 Mar 2016 15:33:28 +0800
User-agent: Mutt/1.5.24 (2015-08-30)

The kernel bzImage payload length appears to be incorrectly minus by 4 when
trying to grub_file_offset_open for the uncompressed vmlinux image. If gzip
used as compressor it will lead to the file->size read from offset of crc32
instead of the uncompressed image size.

[1]
http://www.onicos.com/staff/iz/formats/gzip.html
---
 grub-core/loader/i386/xen_file.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/grub-core/loader/i386/xen_file.c b/grub-core/loader/i386/xen_file.c
index 5836218..37f9ad8 100644
--- a/grub-core/loader/i386/xen_file.c
+++ b/grub-core/loader/i386/xen_file.c
@@ -55,11 +55,11 @@ grub_xen_file (grub_file_t file)
   grub_dprintf ("xen", "found bzimage payload 0x%llx-0x%llx\n",
                (unsigned long long) (lh.setup_sects + 1) * 512
                + lh.payload_offset,
-               (unsigned long long) lh.payload_length - 4);
+               (unsigned long long) lh.payload_length);
 
   off_file = grub_file_offset_open (file, (lh.setup_sects + 1) * 512
                                    + lh.payload_offset,
-                                   lh.payload_length - 4);
+                                   lh.payload_length);
   if (!off_file)
     goto fail;
 
-- 
1.8.5.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]