Adding a failure check in grub_calloc(). If grub_calloc fails, (e.g., due to memory allocation failure), it returns NULL. Then, using grub_efiemu_elfsyms (which would be NULL) later will result in a null pointer dereference, and can cause an undefined behavior.
Signed-off-by: Avnish Chouhan <[email protected]> --- grub-core/efiemu/loadcore.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/grub-core/efiemu/loadcore.c b/grub-core/efiemu/loadcore.c index 2b92462..5a6d244 100644 --- a/grub-core/efiemu/loadcore.c +++ b/grub-core/efiemu/loadcore.c @@ -203,6 +203,9 @@ grub_efiemu_count_symbols (const Elf_Ehdr *e) grub_efiemu_elfsyms = (struct grub_efiemu_elf_sym *) grub_calloc (grub_efiemu_nelfsyms, sizeof (struct grub_efiemu_elf_sym)); + if (grub_efiemu_elfsyms == NULL) + return grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory")); + /* Relocators */ for (i = 0, s = (Elf_Shdr *) ((char *) e + e->e_shoff); i < e->e_shnum; -- 2.46.0 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
