tools: fit_image: Use fit_image_get_data_and_size for getting offset/size
authorAndrew F. Davis <afd@ti.com>
Tue, 17 Sep 2019 21:09:34 +0000 (17:09 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 7 Jan 2020 16:12:46 +0000 (11:12 -0500)
This is very similar to fit_image_get_data but has the benefit of working
on FIT images with external data unlike fit_image_get_data. This is
useful for extracting sub-images from type of FIT image as this would
previously just silently fail. Add an error message also so if this
still fails it is easier to find out why.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
tools/fit_image.c

index 0201cc44d8fff52ad92cf3c1dd357bdef4be4eac..114df5af305ae73fa8d38152d0e1f5a4dca942e7 100644 (file)
@@ -741,9 +741,14 @@ static int fit_image_extract(
 {
        const void *file_data;
        size_t file_size = 0;
+       int ret;
 
-       /* get the "data" property of component at offset "image_noffset" */
-       fit_image_get_data(fit, image_noffset, &file_data, &file_size);
+       /* get the data address and size of component at offset "image_noffset" */
+       ret = fit_image_get_data_and_size(fit, image_noffset, &file_data, &file_size);
+       if (ret) {
+               fprintf(stderr, "Could not get component information\n");
+               return ret;
+       }
 
        /* save the "file_data" into the file specified by "file_name" */
        return imagetool_save_subimage(file_name, (ulong) file_data, file_size);