summaryrefslogtreecommitdiff
path: root/lib/efi_loader
diff options
context:
space:
mode:
Diffstat (limited to 'lib/efi_loader')
-rw-r--r--lib/efi_loader/Kconfig3
-rw-r--r--lib/efi_loader/efi_debug_support.c2
-rw-r--r--lib/efi_loader/efi_firmware.c2
-rw-r--r--lib/efi_loader/efi_memory.c2
4 files changed, 8 insertions, 1 deletions
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 077466f01f0..c2aa88f59fb 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -16,6 +16,7 @@ config EFI_LOADER
depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
depends on !EFI_APP
default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
+ select EFI
select CHARSET
# We need to send DM events, dynamically, in the EFI block driver
select DM_EVENT
@@ -595,6 +596,8 @@ config BOOTEFI_TESTAPP_COMPILE
endif
+source "lib/efi_client/Kconfig"
+
source "lib/efi/Kconfig"
endmenu
diff --git a/lib/efi_loader/efi_debug_support.c b/lib/efi_loader/efi_debug_support.c
index 186bdbce750..490b0bb7088 100644
--- a/lib/efi_loader/efi_debug_support.c
+++ b/lib/efi_loader/efi_debug_support.c
@@ -22,7 +22,7 @@ struct efi_debug_image_info_table_header efi_m_debug_info_table_header = {
*/
static u32 efi_m_max_table_entries;
-#define EFI_DEBUG_TABLE_ENTRY_SIZE (sizeof(union efi_debug_image_info *))
+#define EFI_DEBUG_TABLE_ENTRY_SIZE (sizeof(union efi_debug_image_info))
/**
* efi_initialize_system_table_pointer() - Initialize system table pointer
diff --git a/lib/efi_loader/efi_firmware.c b/lib/efi_loader/efi_firmware.c
index 75501e21557..216df83de67 100644
--- a/lib/efi_loader/efi_firmware.c
+++ b/lib/efi_loader/efi_firmware.c
@@ -332,6 +332,8 @@ static efi_status_t efi_fill_image_desc_array(
return EFI_BUFFER_TOO_SMALL;
}
+ if (!image_info)
+ return EFI_INVALID_PARAMETER;
*image_info_size = total_size;
ret = efi_gen_capsule_guids();
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index 6dfc698a247..b77c2f980cc 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -714,6 +714,8 @@ efi_status_t efi_realloc(void **ptr, size_t size)
sizeof(struct efi_pool_allocation);
new_ptr = efi_alloc(size);
+ if (!new_ptr)
+ return EFI_OUT_OF_RESOURCES;
/* copy old data to new alloced buffer */
memcpy(new_ptr, *ptr, min(size, old_size));