)\r
{\r
EFI_STATUS Status;\r
- UINT32 BlockSize = BlockIo->Media->BlockSize;\r
- EFI_LBA EndLBA = BlockIo->Media->LastBlock;\r
- EFI_LBA DescriptorLBAs[] = { 256, EndLBA - 256, EndLBA, 512 };\r
+ UINT32 BlockSize;\r
+ EFI_LBA EndLBA;\r
+ EFI_LBA DescriptorLBAs[4];\r
UINTN Index;\r
\r
+ BlockSize = BlockIo->Media->BlockSize;\r
+ EndLBA = BlockIo->Media->LastBlock;\r
+ DescriptorLBAs[0] = 256;\r
+ DescriptorLBAs[1] = EndLBA - 256;\r
+ DescriptorLBAs[2] = EndLBA;\r
+ DescriptorLBAs[3] = 512;\r
+\r
for (Index = 0; Index < ARRAY_SIZE (DescriptorLBAs); Index++) {\r
Status = DiskIo->ReadDisk (\r
DiskIo,\r
{\r
*NewFileIdentifierDesc =\r
(UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (\r
- GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);\r
+ (UINTN) GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);\r
}\r
\r
//\r
//\r
// Allocate buffer to read in AED's data.\r
//\r
- *Data = AllocatePool (*Length);\r
+ *Data = AllocatePool ((UINTN) (*Length));\r
if (*Data == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
DiskIo,\r
BlockIo->Media->MediaId,\r
Offset,\r
- *Length,\r
+ (UINTN) (*Length),\r
*Data\r
);\r
}\r
return EFI_OUT_OF_RESOURCES;\r
}\r
} else {\r
- *Buffer = ReallocatePool (Length, Length + ExtentLength, *Buffer);\r
+ *Buffer = ReallocatePool ((UINTN) Length, (UINTN) (Length + ExtentLength), *Buffer);\r
if (*Buffer == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
LogicalBlockSize = LV_BLOCK_SIZE (Volume, UDF_DEFAULT_LV_NUM);\r
DoFreeAed = FALSE;\r
\r
+ //\r
+ // set BytesLeft to suppress incorrect compiler/analyzer warnings\r
+ //\r
+ BytesLeft = 0;\r
+ DataOffset = 0;\r
+ FilePosition = 0;\r
+ FinishedSeeking = FALSE;\r
+ Data = NULL;\r
+\r
switch (ReadFileInfo->Flags) {\r
case READ_FILE_GET_FILESIZE:\r
case READ_FILE_ALLOCATE_AND_READ:\r
//\r
// Allocate buffer for starting read data.\r
//\r
- ReadFileInfo->FileData = AllocatePool (Length);\r
+ ReadFileInfo->FileData = AllocatePool ((UINTN) Length);\r
if (ReadFileInfo->FileData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
//\r
// Read all inline data into ReadFileInfo->FileData\r
//\r
- CopyMem (ReadFileInfo->FileData, Data, Length);\r
+ CopyMem (ReadFileInfo->FileData, Data, (UINTN) Length);\r
ReadFileInfo->ReadLength = Length;\r
} else if (ReadFileInfo->Flags == READ_FILE_SEEK_AND_READ) {\r
//\r
CopyMem (\r
ReadFileInfo->FileData,\r
(VOID *)((UINT8 *)Data + ReadFileInfo->FilePosition),\r
- ReadFileInfo->FileDataSize\r
+ (UINTN) ReadFileInfo->FileDataSize\r
);\r
\r
ReadFileInfo->FilePosition += ReadFileInfo->FileDataSize;\r
+ } else {\r
+ ASSERT (FALSE);\r
+ return EFI_INVALID_PARAMETER;\r
}\r
\r
+ Status = EFI_SUCCESS;\r
break;\r
+\r
case LONG_ADS_SEQUENCE:\r
case SHORT_ADS_SEQUENCE:\r
//\r
\r
if (FilePosition + ExtentLength > ReadFileInfo->FilePosition) {\r
Offset = ReadFileInfo->FilePosition - FilePosition;\r
- if (Offset < 0) {\r
- Offset = -(Offset);\r
- }\r
} else {\r
Offset = 0;\r
}\r
DiskIo,\r
BlockIo->Media->MediaId,\r
Offset + MultU64x32 (Lsn, LogicalBlockSize),\r
- DataLength,\r
+ (UINTN) DataLength,\r
(VOID *)((UINT8 *)ReadFileInfo->FileData +\r
DataOffset)\r
);\r
ASSERT (FALSE);\r
Status = EFI_UNSUPPORTED;\r
break;\r
+\r
+ default:\r
+ //\r
+ // A flag value reserved by the ECMA-167 standard (3rd Edition - June\r
+ // 1997); 14.6 ICB Tag; 14.6.8 Flags (RBP 18); was found.\r
+ //\r
+ Status = EFI_UNSUPPORTED;\r
+ break;\r
}\r
\r
Done:\r