]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 29 Mar 2011 08:56:14 +0000 (10:56 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 29 Mar 2011 08:56:14 +0000 (10:56 +0200)
Reported and tested by: Timothy Nikkel.

ChangeLog
grub-core/fs/ext2.c

index c353b8feae43fa4abca8d9507e0986bd9348bf0a..9e90df11ec96cd634422e2124c3a07ff5e4b0996 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
+       Reported and tested by: Timothy Nikkel.
+
 2011-03-29  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
index ed5fafd4c62c14baf90c80a7c5042bbdd22da3ef..9d7bbfd36229305c874ae7f692dc486f48a22ef8 100644 (file)
@@ -555,7 +555,7 @@ grub_ext2_read_inode (struct grub_ext2_data *data,
 
   /* Read the inode.  */
   if (grub_disk_read (data->disk,
-                     ((grub_le_to_cpu32 (blkgrp.inode_table_id) + blkno)
+                     (((grub_disk_addr_t) grub_le_to_cpu32 (blkgrp.inode_table_id) + blkno)
                        << LOG2_EXT2_BLOCK_SIZE (data)),
                      EXT2_INODE_SIZE (data) * blkoff,
                      sizeof (struct grub_ext2_inode), inode))