FfsHeader = (EFI_FFS_FILE_HEADER *) (FvDevice->CachedFv);\r
}\r
TopFvAddress = FvDevice->EndOfCachedFv;\r
- while ((UINT8 *) FfsHeader < TopFvAddress) {\r
+ while (((UINTN) FfsHeader >= (UINTN) FvDevice->CachedFv) && ((UINTN) FfsHeader <= (UINTN) ((UINTN) TopFvAddress - sizeof (EFI_FFS_FILE_HEADER)))) {\r
\r
if (FileCached) {\r
CoreFreePool (CacheFfsHeader);\r