diff --git a/ChangeLog b/ChangeLog index b97cb823f..43076ddd4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-12-15 Vladimir Serbinenko + + * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather + than converting to long. + 2013-12-15 Vladimir Serbinenko * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id". diff --git a/grub-core/kern/i386/coreboot/cbtable.c b/grub-core/kern/i386/coreboot/cbtable.c index 6cdfc9645..e3bb7b2e0 100644 --- a/grub-core/kern/i386/coreboot/cbtable.c +++ b/grub-core/kern/i386/coreboot/cbtable.c @@ -60,12 +60,12 @@ grub_linuxbios_table_iterate (int (*hook) (grub_linuxbios_table_item_t, signature_found: table_item = - (grub_linuxbios_table_item_t) ((long) table_header + - (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)) + (grub_linuxbios_table_item_t) ((char *) table_header + + table_header->header_size); + for (; table_item < (grub_linuxbios_table_item_t) ((char *) table_header + + table_header->header_size + + table_header->table_size); + table_item = (grub_linuxbios_table_item_t) ((char *) table_item + table_item->size)) { if (table_item->tag == GRUB_LINUXBIOS_MEMBER_LINK && check_signature ((grub_linuxbios_table_header_t) (grub_addr_t)