summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-07-30 15:06:06 +0300
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2023-08-03 10:21:03 +0300
commit405b736e817bbca360b2fd3329953d3980585df2 (patch)
tree589a012803d978539f309bc026d90fe4d7aca5b3 /lib
parentcff7700170c2eb9d8059acbc2a5664ee9c8a8a9b (diff)
downloadu-boot-405b736e817bbca360b2fd3329953d3980585df2.tar.xz
efi_loader: catch out of memory in file_open
If calloc() return NULL, don't dereference it. Fixes: 2a92080d8c44 ("efi_loader: add file/filesys support") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/efi_loader/efi_file.c b/lib/efi_loader/efi_file.c
index 3764a92b50..3c56cebf96 100644
--- a/lib/efi_loader/efi_file.c
+++ b/lib/efi_loader/efi_file.c
@@ -195,6 +195,8 @@ static struct efi_file_handle *file_open(struct file_system *fs,
/* +2 is for null and '/' */
fh = calloc(1, sizeof(*fh) + plen + (flen * MAX_UTF8_PER_UTF16) + 2);
+ if (!fh)
+ return NULL;
fh->open_mode = open_mode;
fh->base = efi_file_handle_protocol;