diff --git a/ChangeLog b/ChangeLog index b0fb82f2d..1f5f80d74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-06-23 Yoshinori K. Okuji + + * kern/mm.c (grub_free): If the next free block which is being + merged is the first free block, set the first block to the block + being freed. + Reported by Vincent Guffens . + 2005-05-08 Hollis Blanchard * boot/powerpc/ieee1275/cmain.c (cmain): Initialize diff --git a/THANKS b/THANKS index b1871d1f8..4209aa64b 100644 --- a/THANKS +++ b/THANKS @@ -16,6 +16,7 @@ Robert Bihlmeyer Timothy Baldwin Tomas Ebenlendr Tsuneyoshi Yasuo +Vincent Guffens Vincent Pelletier Also, we thank the projects GNU Automake and LZO. Some code diff --git a/kern/mm.c b/kern/mm.c index 035f93d1d..f27c3bc28 100644 --- a/kern/mm.c +++ b/kern/mm.c @@ -295,6 +295,9 @@ grub_free (void *ptr) if (p + p->size == p->next) { + if (p->next == q) + q = p; + p->next->magic = 0; p->size += p->next->size; p->next = p->next->next;