Merge "libavb_aftl: use read_mem in log root parser"
diff --git a/libavb_aftl/avb_aftl_util.c b/libavb_aftl/avb_aftl_util.c
index 2d9d0f5..d537f42 100644
--- a/libavb_aftl/avb_aftl_util.c
+++ b/libavb_aftl/avb_aftl_util.c
@@ -801,6 +801,7 @@
AftlImage* parse_aftl_image(uint8_t* aftl_blob, size_t aftl_blob_size) {
AftlImage* image;
AftlImageHeader* image_header;
+ AftlIcpEntry* entry;
size_t image_size;
size_t i;
size_t remaining_size;
@@ -845,7 +846,12 @@
aftl_blob += sizeof(AftlImageHeader);
remaining_size = aftl_blob_size - sizeof(AftlImageHeader);
for (i = 0; i < image->header.icp_count && remaining_size > 0; i++) {
- image->entries[i] = parse_icp_entry(&aftl_blob, &remaining_size);
+ entry = parse_icp_entry(&aftl_blob, &remaining_size);
+ if (!entry) {
+ free_aftl_image(image);
+ return NULL;
+ }
+ image->entries[i] = entry;
}
return image;