efi: Check for failure to create objects in selftest
authorSimon Glass <sjg@chromium.org>
Mon, 26 Nov 2018 03:14:36 +0000 (20:14 -0700)
committerAlexander Graf <agraf@suse.de>
Sun, 2 Dec 2018 20:59:37 +0000 (21:59 +0100)
At present a few error conditions are not checked. Before refactoring
this code, add some basic checks. Note that this code still leaks memory
in the event of error. This will be tackled after the refactor.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
cmd/bootefi.c

index 3e37805..5be10c9 100644 (file)
@@ -532,7 +532,12 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                bootefi_device_path = efi_dp_from_mem(EFI_RESERVED_MEMORY_TYPE,
                                                      (uintptr_t)&efi_selftest,
                                                      (uintptr_t)&efi_selftest);
+               if (!bootefi_device_path)
+                       return CMD_RET_FAILURE;
+
                bootefi_image_path = efi_dp_from_file(NULL, 0, "\\selftest");
+               if (!bootefi_image_path)
+                       return CMD_RET_FAILURE;
 
                r = efi_setup_loaded_image(bootefi_device_path,
                                           bootefi_image_path, &image_obj,