Fix end of table condition.
+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
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
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;