UINTN Signature[2];\r
UINTN BytesRead;\r
UINT32 Size;\r
+ size_t ReadSize;\r
\r
BytesRead = 0;\r
Size = 0;\r
//\r
// Read the header\r
//\r
- fread (&VolumeHeader, sizeof (EFI_FIRMWARE_VOLUME_HEADER) - sizeof (EFI_FV_BLOCK_MAP_ENTRY), 1, InputFile);\r
+ ReadSize = fread (&VolumeHeader, sizeof (EFI_FIRMWARE_VOLUME_HEADER) - sizeof (EFI_FV_BLOCK_MAP_ENTRY), 1, InputFile);\r
+ if (ReadSize != 1) {\r
+ return EFI_ABORTED;\r
+ }\r
BytesRead = sizeof (EFI_FIRMWARE_VOLUME_HEADER) - sizeof (EFI_FV_BLOCK_MAP_ENTRY);\r
Signature[0] = VolumeHeader.Signature;\r
Signature[1] = 0;\r
printf ("Revision: 0x%04X\n", VolumeHeader.Revision);\r
\r
do {\r
- fread (&BlockMap, sizeof (EFI_FV_BLOCK_MAP_ENTRY), 1, InputFile);\r
+ ReadSize = fread (&BlockMap, sizeof (EFI_FV_BLOCK_MAP_ENTRY), 1, InputFile);\r
+ if (ReadSize != 1) {\r
+ return EFI_ABORTED;\r
+ }\r
BytesRead += sizeof (EFI_FV_BLOCK_MAP_ENTRY);\r
\r
if (BlockMap.NumBlocks != 0) {\r