On Fri, Mar 13, 2009 at 09:52:39PM +0100, phcoder wrote: > - grub_multiboot_payload_entry_offset = ehdr->e_entry - > phdr(lowest_segment)->p_vaddr; > + for (i = 0; i < ehdr->e_phnum; i++) > + if (phdr(i)->p_vaddr <= ehdr->e_entry > + && phdr(i)->p_vaddr + phdr(i)->p_memsz > ehdr->e_entry) > + grub_multiboot_payload_entry_offset = (ehdr->e_entry - > phdr(i)->p_vaddr) > + + (phdr(i)->p_paddr - phdr(lowest_segment)->p_paddr);
You need to handle the case in which grub_multiboot_payload_entry_offset is left uninitialized (it needs to be initialized each time the multiboot command is run, not just when the module is loaded). -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all." _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel