[U-Boot] [PATCH 05/18] efi_loader: efi_disk: check return value of calloc

Heinrich Schuchardt xypron.glpk at gmx.de
Thu Oct 26 17:25:46 UTC 2017


Calloc may return NULL. We should check the return value.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 lib/efi_loader/efi_disk.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index e61dbc8058..c6f0d732c1 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -196,6 +196,15 @@ efi_fs_from_path(struct efi_device_path *fp)
 	return diskobj->volume;
 }
 
+/*
+ * Create a device for a disk
+ *
+ * @name	not used
+ * @if_typename interface name for block device
+ * @desc	internal block device
+ * @dev_index   device index for block device
+ * @offset	offset into disk for simple partitions
+ */
 static void efi_disk_add_dev(const char *name,
 			     const char *if_typename,
 			     struct blk_desc *desc,
@@ -210,6 +219,10 @@ static void efi_disk_add_dev(const char *name,
 		return;
 
 	diskobj = calloc(1, sizeof(*diskobj));
+	if (!diskobj) {
+		printf("ERROR: Out of memory\n");
+		return;
+	}
 
 	/* Fill in object data */
 	diskobj->dp = efi_dp_from_part(desc, part);
-- 
2.11.0



More information about the U-Boot mailing list