InitializeListHead (&NewFile->Link);\r
InsertHeadList (&Instance->FileHead, &NewFile->Link);\r
\r
- NewFile->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance);\r
+ NewFile->DirReadNext = NULL;\r
+ if (!IsListEmpty (&Instance->FileInfoHead)) {\r
+ NewFile->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance);\r
+ }\r
\r
*NewHandle = &NewFile->FileProtocol;\r
return EFI_SUCCESS;\r
//\r
// Reset directory position to first entry\r
//\r
- File->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance);\r
+ if (File->DirReadNext) {\r
+ File->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance); \r
+ }\r
} else if (Position == 0xFFFFFFFFFFFFFFFFull) {\r
File->Position = File->FvFileInfo->FileInfo.FileSize;\r
} else {\r
}\r
}\r
\r
- Instance->Root->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance);\r
+ Instance->Root->DirReadNext = NULL;\r
+ if (!IsListEmpty (&Instance->FileInfoHead)) {\r
+ Instance->Root->DirReadNext = FVFS_GET_FIRST_FILE_INFO (Instance);\r
+ }\r
+\r
*RootFile = &Instance->Root->FileProtocol;\r
return Status;\r
}\r