summaryrefslogtreecommitdiffstats
path: root/src/lib/fit_payload.c
diff options
context:
space:
mode:
authorAsami Doi <d0iasm.pub@gmail.com>2019-07-24 16:04:20 +0900
committerJulius Werner <jwerner@chromium.org>2019-08-06 20:29:57 +0000
commit02547c58869eed2295853ad12618285d45fca7da (patch)
tree6bda4b43148a32471bfa534b152b2621cace9a3e /src/lib/fit_payload.c
parentb8f1bd7a378dbc1fa5adfd557292aef10f8f310e (diff)
downloadcoreboot-02547c58869eed2295853ad12618285d45fca7da.tar.gz
coreboot-02547c58869eed2295853ad12618285d45fca7da.tar.bz2
coreboot-02547c58869eed2295853ad12618285d45fca7da.zip
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 <d0iasm.pub@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34535 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/lib/fit_payload.c')
-rw-r--r--src/lib/fit_payload.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/fit_payload.c b/src/lib/fit_payload.c
index a4d370540efe..1b6c9860f0c2 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";