Boot: Pass image header to LOAD_IMAGE_DATA macro

Pass the image header pointer as an argument to the LOAD_IMAGE_DATA
macro instead of assuming it exists in the given scope with the
name "hdr".

Change-Id: I169d18427ba908f5b169ff276147dd9098afd9f6
Signed-off-by: David Vincze <david.vincze@arm.com>
diff --git a/bl2/ext/mcuboot/bootutil/src/bootutil_priv.h b/bl2/ext/mcuboot/bootutil/src/bootutil_priv.h
index 2f37047..20d61b7 100644
--- a/bl2/ext/mcuboot/bootutil/src/bootutil_priv.h
+++ b/bl2/ext/mcuboot/bootutil/src/bootutil_priv.h
@@ -335,10 +335,11 @@
 #endif  /* !defined(MCUBOOT_USE_FLASH_AREA_GET_SECTORS) */
 
 #ifdef MCUBOOT_RAM_LOADING
-#define LOAD_IMAGE_DATA(fap, start, output, size)\
-    (memcpy((output),(void*)(hdr->ih_load_addr + (start)), (size)) != (output))
+#define LOAD_IMAGE_DATA(hdr, fap, start, output, size)       \
+    (memcpy((output),(void*)((hdr)->ih_load_addr + (start)), \
+    (size)) != (output))
 #else
-#define LOAD_IMAGE_DATA(fap, start, output, size)\
+#define LOAD_IMAGE_DATA(hdr, fap, start, output, size)       \
     (flash_area_read((fap), (start), (output), (size)))
 #endif /* MCUBOOT_RAM_LOADING */
 
diff --git a/bl2/ext/mcuboot/bootutil/src/image_validate.c b/bl2/ext/mcuboot/bootutil/src/image_validate.c
index 53ac659..841f183 100644
--- a/bl2/ext/mcuboot/bootutil/src/image_validate.c
+++ b/bl2/ext/mcuboot/bootutil/src/image_validate.c
@@ -225,7 +225,7 @@
      * the security counter TLV.
      */
     while (off < end) {
-        rc = LOAD_IMAGE_DATA(fap, off, &tlv, sizeof(tlv));
+        rc = LOAD_IMAGE_DATA(hdr, fap, off, &tlv, sizeof(tlv));
         if (rc != 0) {
             return BOOT_EFLASH;
         }
@@ -237,7 +237,7 @@
                 break;
             }
 
-            rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv),
+            rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv),
                                  img_security_cnt, tlv.it_len);
             if (rc != 0) {
                 return BOOT_EFLASH;
@@ -314,7 +314,7 @@
      * and are able to do.
      */
     while (off < end) {
-        rc = LOAD_IMAGE_DATA(fap, off, &tlv, sizeof(tlv));
+        rc = LOAD_IMAGE_DATA(hdr, fap, off, &tlv, sizeof(tlv));
         if (rc) {
             return rc;
         }
@@ -327,7 +327,8 @@
             if (tlv.it_len != sizeof(hash)) {
                 return -1;
             }
-            rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv), buf, sizeof(hash));
+            rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv),
+                                 buf, sizeof(hash));
             if (rc) {
                 return rc;
             }
@@ -345,7 +346,7 @@
             if (tlv.it_len > 32) {
                 return -1;
             }
-            rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv), buf, tlv.it_len);
+            rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv), buf, tlv.it_len);
             if (rc) {
                 return rc;
             }
@@ -362,7 +363,8 @@
             if (tlv.it_len > sizeof(key_buf)) {
                 return -1;
             }
-            rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv), key_buf, tlv.it_len);
+            rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv),
+                                 key_buf, tlv.it_len);
             if (rc) {
                 return rc;
             }
@@ -378,7 +380,8 @@
                 if (!EXPECTED_SIG_LEN(tlv.it_len) || tlv.it_len > sizeof(buf)) {
                     return -1;
                 }
-                rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv), buf, tlv.it_len);
+                rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv),
+                                     buf, tlv.it_len);
                 if (rc) {
                     return -1;
                 }
@@ -400,7 +403,7 @@
                 return -1;
             }
 
-            rc = LOAD_IMAGE_DATA(fap, off + sizeof(tlv),
+            rc = LOAD_IMAGE_DATA(hdr, fap, off + sizeof(tlv),
                                  &img_security_cnt, tlv.it_len);
             if (rc) {
                 return rc;
diff --git a/bl2/ext/mcuboot/bootutil/src/loader.c b/bl2/ext/mcuboot/bootutil/src/loader.c
index 9f47591..d5514cd 100644
--- a/bl2/ext/mcuboot/bootutil/src/loader.c
+++ b/bl2/ext/mcuboot/bootutil/src/loader.c
@@ -177,7 +177,7 @@
 
     off_ = BOOT_TLV_OFF(hdr);
 
-    if (LOAD_IMAGE_DATA(fap, off_, &info, sizeof(info))) {
+    if (LOAD_IMAGE_DATA(hdr, fap, off_, &info, sizeof(info))) {
         return BOOT_EFLASH;
     }
 
diff --git a/bl2/src/boot_record.c b/bl2/src/boot_record.c
index f7b2539..ba98eba 100644
--- a/bl2/src/boot_record.c
+++ b/bl2/src/boot_record.c
@@ -117,7 +117,7 @@
      *  - public key hash: Signer ID
      */
     for (; offset < tlv_end; offset += sizeof(tlv_entry) + tlv_entry.it_len) {
-        res = LOAD_IMAGE_DATA(fap, offset, &tlv_entry, sizeof(tlv_entry));
+        res = LOAD_IMAGE_DATA(hdr, fap, offset, &tlv_entry, sizeof(tlv_entry));
         if (res) {
             return BOOT_STATUS_ERROR;
         }
@@ -128,7 +128,7 @@
                 return BOOT_STATUS_ERROR;
             }
 
-            res = LOAD_IMAGE_DATA(fap, offset + sizeof(tlv_entry),
+            res = LOAD_IMAGE_DATA(hdr, fap, offset + sizeof(tlv_entry),
                                   buf, tlv_entry.it_len);
             if (res) {
                 return BOOT_STATUS_ERROR;
@@ -162,7 +162,7 @@
                 return BOOT_STATUS_ERROR;
             }
 
-            res = LOAD_IMAGE_DATA(fap, offset + sizeof(tlv_entry),
+            res = LOAD_IMAGE_DATA(hdr, fap, offset + sizeof(tlv_entry),
                                   buf, tlv_entry.it_len);
             if (res) {
                 return BOOT_STATUS_ERROR;
@@ -173,7 +173,7 @@
             if (tlv_entry.it_len > sizeof(key_buf)) {
                 return BOOT_STATUS_ERROR;
             }
-            res = LOAD_IMAGE_DATA(fap, offset + sizeof(tlv_entry),
+            res = LOAD_IMAGE_DATA(hdr, fap, offset + sizeof(tlv_entry),
                                   key_buf, tlv_entry.it_len);
             if (res) {
                 return BOOT_STATUS_ERROR;
@@ -411,7 +411,7 @@
      * and image hash TLVs.
      */
     while (offset < tlv_end) {
-        res = LOAD_IMAGE_DATA(fap, offset, &tlv_entry, sizeof(tlv_entry));
+        res = LOAD_IMAGE_DATA(hdr, fap, offset, &tlv_entry, sizeof(tlv_entry));
         if (res) {
             return BOOT_STATUS_ERROR;
         }
@@ -420,7 +420,7 @@
             if (tlv_entry.it_len > sizeof(buf)) {
                 return BOOT_STATUS_ERROR;
             }
-            res = LOAD_IMAGE_DATA(fap, offset + sizeof(tlv_entry),
+            res = LOAD_IMAGE_DATA(hdr, fap, offset + sizeof(tlv_entry),
                                   buf, tlv_entry.it_len);
             if (res) {
                 return BOOT_STATUS_ERROR;
@@ -434,7 +434,7 @@
             if (tlv_entry.it_len > sizeof(image_hash)) {
                 return BOOT_STATUS_ERROR;
             }
-            res = LOAD_IMAGE_DATA(fap, offset + sizeof(tlv_entry),
+            res = LOAD_IMAGE_DATA(hdr, fap, offset + sizeof(tlv_entry),
                                   image_hash, tlv_entry.it_len);
             if (res) {
                 return BOOT_STATUS_ERROR;