From c58483f43299fe3fb7a5fa492880176ddcad89ae Mon Sep 17 00:00:00 2001 From: vit9696 Date: Wed, 15 Apr 2020 03:43:23 +0300 Subject: [PATCH] OcApfsLib: Improve error handling closes acidanthera/bugtracker#844 --- Library/OcApfsLib/OcApfsIo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/OcApfsLib/OcApfsIo.c b/Library/OcApfsLib/OcApfsIo.c index 393349e6..9c1b4271 100644 --- a/Library/OcApfsLib/OcApfsIo.c +++ b/Library/OcApfsLib/OcApfsIo.c @@ -224,7 +224,8 @@ ApfsReadDriver ( &Lba ); - if (OcOverflowMulUN (JumpStart->RecordExtents[Index].BlockCount, PrivateData->ApfsBlockSize, &ChunkSize) + if (JumpStart->RecordExtents[Index].BlockCount > MAX_UINTN + || OcOverflowMulUN ((UINTN) JumpStart->RecordExtents[Index].BlockCount, PrivateData->ApfsBlockSize, &ChunkSize) || ChunkSize > EfiFileSize) { FreePool (EfiFile); return EFI_SECURITY_VIOLATION;