summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@linaro.org>2018-12-20 12:44:27 +0800
committerGitHub <noreply@github.com>2018-12-20 12:44:27 +0800
commit680c62d61bc28a17d3283976e3c3061cbec9993e (patch)
treee49292284b5bc17246927451170287c7d0c728b4
parent370cde2b5c9aea6eb9f87fee5e669bd834f03ed6 (diff)
parent97586c62d421231c4213cd8d7ea0fbb7005c3ed3 (diff)
downloadedk2-680c62d61bc28a17d3283976e3c3061cbec9993e.tar.gz
Merge pull request #79 from johnstultz-work/fastboot-overflow-fix-hikeyupstream-hikey-aosp
EmbeddedPkg/AndroidFastboot: Fix overflow in Offset calculations
-rw-r--r--EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
index 9074c6c77..854157161 100644
--- a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
+++ b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
@@ -227,11 +227,11 @@ FlashSparseImage (
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 @@ FlashSparseImage (
Image += sizeof (UINT32);
break;
case CHUNK_TYPE_DONT_CARE:
- Offset += ChunkHeader->ChunkSize * SparseHeader->BlockSize;
+ Offset += (UINTN)ChunkHeader->ChunkSize * SparseHeader->BlockSize;
break;
default:
UnicodeSPrint (