Merge remote-tracking branch 'aosp/upstream-hikey-aosp' into HEAD

Merge in Offset multiplication overflow fix.

Change-Id: If4922eaa4af1cbfa1b4454c5aaea910324d3b85b
Signed-off-by: John Stultz <john.stultz@linaro.org>
diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
index 9074c6c..8541571 100644
--- a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
+++ b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
@@ -227,11 +227,11 @@
       if (EFI_ERROR (Status)) {

         return Status;

       }

-      Image += ChunkHeader->ChunkSize * SparseHeader->BlockSize;

-      Offset += ChunkHeader->ChunkSize * SparseHeader->BlockSize;

+      Image += (UINTN)ChunkHeader->ChunkSize * SparseHeader->BlockSize;

+      Offset += (UINTN)ChunkHeader->ChunkSize * SparseHeader->BlockSize;

       break;

     case CHUNK_TYPE_FILL:

-      Left = ChunkHeader->ChunkSize * SparseHeader->BlockSize;

+      Left = (UINTN)ChunkHeader->ChunkSize * SparseHeader->BlockSize;

       while (Left > 0) {

         if (Left > FILL_BUF_SIZE) {

           Count = FILL_BUF_SIZE;

@@ -254,7 +254,7 @@
       Image += sizeof (UINT32);

       break;

     case CHUNK_TYPE_DONT_CARE:

-      Offset += ChunkHeader->ChunkSize * SparseHeader->BlockSize;

+      Offset += (UINTN)ChunkHeader->ChunkSize * SparseHeader->BlockSize;

       break;

     default:

       UnicodeSPrint (