diff options
author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2025-07-08 12:08:20 +0200 |
---|---|---|
committer | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2025-07-26 07:37:03 +0200 |
commit | aa703a816a62deb876a1e77ccff030a7cc60f344 (patch) | |
tree | 923f0ea91b63757d8b726504f7e1bde424badf05 /lib | |
parent | b9bb2627bbb672a8dce58c7da5c0e48b921a6b29 (diff) |
efi_loader: efi_realloc() must check efi_alloc() return value
Avoid copying to NULL if out of memory.
Fixes: 3c08df58cc43 ("lib: efi_loader: efi_memory.c: add efi_realloc() for realloc memory")
Addresses-Coverity-ID: 569499: Null pointer dereferences (NULL_RETURNS)
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_memory.c | 2 |
1 files changed, 2 insertions, 0 deletions
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)); |