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;