* grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):

Fix end of table condition.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2013-02-28 13:16:39 +01:00
parent ff2b3cd928
commit 005a9c32df
3 changed files with 15 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
Fix end of table condition.
2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/lib/arg.c (grub_arg_show_help): Move showargs

View file

@ -58,8 +58,10 @@ signature_found:
table_item =
(grub_linuxbios_table_item_t) ((long) table_header +
(long) table_header->size);
for (; table_item->size;
(long) table_header->header_size);
for (; table_item < (grub_linuxbios_table_item_t) ((long) table_header
+ (long) table_header->header_size
+ (long) table_header->table_size);
table_item = (grub_linuxbios_table_item_t) ((long) table_item + (long) table_item->size))
{
if (table_item->tag == GRUB_LINUXBIOS_MEMBER_LINK

View file

@ -22,8 +22,12 @@
struct grub_linuxbios_table_header
{
char signature[4];
grub_uint32_t size;
grub_uint8_t signature[4];
grub_uint32_t header_size;
grub_uint32_t header_checksum;
grub_uint32_t table_size;
grub_uint32_t table_checksum;
grub_uint32_t table_entries;
};
typedef struct grub_linuxbios_table_header *grub_linuxbios_table_header_t;