From 10b64f1cf410f5019c105d80913053d13973b9ed Mon Sep 17 00:00:00 2001 From: Vladimir 'phcoder' Serbinenko Date: Wed, 16 Nov 2011 21:40:50 +0100 Subject: [PATCH] * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling. --- ChangeLog | 4 ++++ grub-core/kern/dl.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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; }