From 368952c8cd81a2a4f4873a4d452178c499be2576 Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Sat, 15 Dec 2018 15:57:16 +0800 Subject: [PATCH 2/3] Support w/o ramdisk Signed-off-by: Jeffy Chen --- abootimg.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/abootimg.c b/abootimg.c index 1ad03f1..b7b9b4b 100644 --- a/abootimg.c +++ b/abootimg.c @@ -289,10 +289,8 @@ int check_boot_img_header(t_abootimg* img) return 1; } - if (!(img->header.ramdisk_size)) { + if (!(img->header.ramdisk_size)) fprintf(stderr, "%s: ramdisk size is null\n", img->fname); - return 1; - } unsigned page_size = img->header.page_size; if (!page_size) { @@ -566,7 +564,7 @@ void update_images(t_abootimg *img) img->header.ramdisk_size = rsize; img->ramdisk = r; } - else if (img->kernel) { + else if (img->kernel && rsize) { // if kernel is updated, copy the ramdisk from original image char* r = malloc(rsize); if (!r) @@ -806,6 +804,9 @@ void extract_ramdisk(t_abootimg* img) unsigned n = (ksize + psize - 1) / psize; unsigned roffset = (1+n)*psize; + if (!rsize) + return; + printf ("extracting ramdisk in %s\n", img->ramdisk_fname); void* r = malloc(rsize); @@ -934,7 +935,7 @@ int main(int argc, char** argv) break; case create: - if (!bootimg->kernel_fname || !bootimg->ramdisk_fname) { + if (!bootimg->kernel_fname) { print_usage(); break; } -- 2.11.0