From: longpanda Date: Wed, 30 Mar 2022 11:52:04 +0000 (+0800) Subject: Update for efi mouse X-Git-Tag: v1.0.73~13 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/commitdiff_plain/791da48673ace3121376c5d8cd43cbd09b5d2c06?ds=inline Update for efi mouse --- diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/fshelp.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/fshelp.c index f5b6772..53a65ec 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/fshelp.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/fs/fshelp.c @@ -426,7 +426,7 @@ grub_fshelp_read_file (grub_disk_t disk, grub_fshelp_node_t node, if (grub_errno) return -1; } - else if (read_hook != (grub_disk_read_hook_t)grub_disk_blocklist_read) + else if (read_hook != (grub_disk_read_hook_t)(void *)grub_disk_blocklist_read) grub_memset (buf, 0, blockend); buf += blocksize - skipfirst; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/disk.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/disk.c index 04d6ce7..f583b56 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/disk.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/kern/disk.c @@ -471,7 +471,7 @@ grub_err_t grub_disk_read (grub_disk_t disk, grub_disk_addr_t sector, grub_off_t offset, grub_size_t size, void *buf) { - if (disk->read_hook == (grub_disk_read_hook_t)grub_disk_blocklist_read) + if (disk->read_hook == (grub_disk_read_hook_t)(void *)grub_disk_blocklist_read) { return grub_disk_blocklist_read((ventoy_img_chunk_list *)disk->read_hook_data, sector, size, disk->log_sector_size); } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/term/efi/mouse.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/term/efi/mouse.c index 957ae17..0d39817 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/term/efi/mouse.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/term/efi/mouse.c @@ -111,13 +111,14 @@ grub_efi_mouse_prot_init (void) mouse_input = grub_malloc (sizeof (grub_efi_mouse_prot_t)); if (!mouse_input) - return NULL; + goto end; mouse_input->mouse = grub_malloc (count * sizeof (grub_efi_simple_pointer_protocol_t *)); if (!mouse_input->mouse) { grub_free (mouse_input); - return NULL; + mouse_input = NULL; + goto end; } mouse_input->count = count; for (i = 0; i < count; i++) @@ -135,6 +136,10 @@ grub_efi_mouse_prot_init (void) mouse_input->mouse[i]->mode->y, mouse_input->mouse[i]->mode->z); #endif } + +end: + efi_call_1(b->free_pool, buf); + return mouse_input; } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c index c5897d9..7e4ffc0 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_cmd.c @@ -3152,7 +3152,7 @@ int ventoy_get_block_list(grub_file_t file, ventoy_img_chunk_list *chunklist, gr } else { - file->read_hook = (grub_disk_read_hook_t)grub_disk_blocklist_read; + file->read_hook = (grub_disk_read_hook_t)(void *)grub_disk_blocklist_read; file->read_hook_data = chunklist; for (size = file->size; size > 0; size -= read)