From: Vladimir 'phcoder' Serbinenko Date: Wed, 16 Nov 2011 20:40:50 +0000 (+0100) Subject: * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling. X-Git-Tag: 2.00~933 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10b64f1cf410f5019c105d80913053d13973b9ed;p=thirdparty%2Fgrub.git * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling. --- diff --git a/ChangeLog b/ChangeLog index 1c000592f..50d552fcf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-11-16 Vladimir Serbinenko + + * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling. + 2011-11-16 Vladimir Serbinenko * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments. diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c index 345e80b90..aaeb01f00 100644 --- a/grub-core/kern/dl.c +++ b/grub-core/kern/dl.c @@ -243,7 +243,7 @@ grub_dl_load_segments (grub_dl_t mod, const Elf_Ehdr *e) i < e->e_shnum; i++, s = (Elf_Shdr *)((char *) s + e->e_shentsize)) { - tsize += ALIGN_UP (s->sh_size, s->sh_addralign); + tsize = ALIGN_UP (tsize, s->sh_addralign) + s->sh_size; if (talign < s->sh_addralign) talign = s->sh_addralign; }