*NewFileIdentifierDesc =\r
(UDF_FILE_IDENTIFIER_DESCRIPTOR *)AllocateCopyPool (\r
(UINTN) GetFidDescriptorLength (FileIdentifierDesc), FileIdentifierDesc);\r
-\r
- ASSERT (*NewFileIdentifierDesc != NULL);\r
}\r
\r
/**\r
)\r
{\r
*NewFileEntry = AllocateCopyPool (Volume->FileEntrySize, FileEntry);\r
-\r
- ASSERT (*NewFileEntry != NULL);\r
}\r
\r
/**\r
}\r
\r
DuplicateFe (BlockIo, Volume, Parent->FileEntry, &File->FileEntry);\r
+ if (File->FileEntry == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+\r
DuplicateFid (Parent->FileIdentifierDesc, &File->FileIdentifierDesc);\r
+ if (File->FileIdentifierDesc == NULL) {\r
+ FreePool (File->FileEntry);\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
\r
return EFI_SUCCESS;\r
}\r
// We've already a file pointer (Root) for the root directory. Duplicate\r
// its FE/EFE and FID descriptors.\r
//\r
- DuplicateFe (BlockIo, Volume, Root->FileEntry, &File->FileEntry);\r
- DuplicateFid (Root->FileIdentifierDesc, &File->FileIdentifierDesc);\r
Status = EFI_SUCCESS;\r
+ DuplicateFe (BlockIo, Volume, Root->FileEntry, &File->FileEntry);\r
+ if (File->FileEntry == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ } else {\r
+ //\r
+ // File->FileEntry is not NULL.\r
+ //\r
+ DuplicateFid (Root->FileIdentifierDesc, &File->FileIdentifierDesc);\r
+ if (File->FileIdentifierDesc == NULL) {\r
+ FreePool (File->FileEntry);\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ }\r
+ }\r
}\r
} else {\r
//\r
} while (FileIdentifierDesc->FileCharacteristics & DELETED_FILE);\r
\r
DuplicateFid (FileIdentifierDesc, FoundFid);\r
+ if (*FoundFid == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
\r
return EFI_SUCCESS;\r
}\r
// "." (current file). Duplicate both FE/EFE and FID of this file.\r
//\r
DuplicateFe (BlockIo, Volume, PreviousFile.FileEntry, &File->FileEntry);\r
+ if (File->FileEntry == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ goto Error_Find_File;\r
+ }\r
+\r
DuplicateFid (PreviousFile.FileIdentifierDesc,\r
&File->FileIdentifierDesc);\r
+ if (File->FileIdentifierDesc == NULL) {\r
+ FreePool (File->FileEntry);\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ goto Error_Find_File;\r
+ }\r
goto Next_Path_Component;\r
case 5:\r
//\r