2009-09-12 Robert Millan <rmh.grub@aybabtu.com>

Fix memory corruption issue (spotted by Colin Watson).

        * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
        causing returned size to be stored in an incorrect memory location.
        Fix use of uninitialized value when storing the returned size.
This commit is contained in:
robertmh 2009-09-12 13:05:25 +00:00
parent e8f5d6e985
commit 5c9f8d8427
2 changed files with 11 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
Fix memory corruption issue (spotted by Colin Watson).
* kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
causing returned size to be stored in an incorrect memory location.
Fix use of uninitialized value when storing the returned size.
2009-09-12 Yves Blusseau <blusseau@zetam.org>
Change clean rules to properly remove files

View file

@ -1761,18 +1761,18 @@ FUNCTION(grub_vbe_bios_getset_dac_palette_width)
movw $0x4f08, %ax
int $0x10
movw %ax, %dx /* real_to_prot destroys %eax. */
movw %ax, %cx /* real_to_prot destroys %eax. */
DATA32 call real_to_prot
.code32
/* Move result back to *dac_mask_size. */
xorl %eax, %eax
movb %bh, %al
movl %eax, (%edx)
/* Return value in %eax. */
xorl %eax, %eax
movw %dx, %ax
movw %cx, %ax
popl %ebx
popl %ebp