From 02547c58869eed2295853ad12618285d45fca7da Mon Sep 17 00:00:00 2001 From: Asami Doi Date: Wed, 24 Jul 2019 16:04:20 +0900 Subject: lib: Throw an error when ramdisk is present but initrd.size is 0 It fails if you call extract() when ramdisk is present but initrd size is 0. This CL adds if-statement to throw an error when initrd size is 0. Change-Id: I85aa33d2c2846b6b3a58df834dda18c47433257d Signed-off-by: Asami Doi Reviewed-on: https://review.coreboot.org/c/coreboot/+/34535 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner Reviewed-by: Raul Rangel Reviewed-by: Martin Roth --- src/lib/fit_payload.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/lib') diff --git a/src/lib/fit_payload.c b/src/lib/fit_payload.c index a4d370540e..1b6c9860f0 100644 --- a/src/lib/fit_payload.c +++ b/src/lib/fit_payload.c @@ -51,6 +51,11 @@ static bool extract(struct region *region, struct fit_image_node *node) const char *comp_name; size_t true_size = 0; + if (node->size == 0) { + printk(BIOS_ERR, "ERROR: The %s size is 0\n", node->name); + return true; + } + switch (node->compression) { case CBFS_COMPRESS_NONE: comp_name = "Relocating uncompressed"; -- cgit v1.2.3