diff --git a/ChangeLog b/ChangeLog index 719265ab4..341e64618 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-04 Vladimir Serbinenko + + * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the + case when min_align = 0. + 2012-03-04 Vladimir Serbinenko * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c index df133c2cb..84896c27b 100644 --- a/grub-core/loader/i386/linux.c +++ b/grub-core/loader/i386/linux.c @@ -289,7 +289,7 @@ allocate_pages (grub_size_t prot_size, grub_size_t *align, prot_size, 1, GRUB_RELOCATOR_PREFERENCE_LOW, 1); - for (; err && *align >= min_align; (*align)--) + for (; err && *align + 1 > min_align; (*align)--) { grub_errno = GRUB_ERR_NONE; err = grub_relocator_alloc_chunk_align (relocator, &ch,