)\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
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
\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
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