CorrectedPath = NULL;\r
\r
CorrectedPath = StrnCatGrow(&CorrectedPath, NULL, Path, 0);\r
- ASSERT(CorrectedPath != NULL);\r
+ if (CorrectedPath == NULL) {\r
+ return (SHELL_OUT_OF_RESOURCES);\r
+ }\r
+\r
PathCleanUpDirectories(CorrectedPath);\r
\r
Status = ShellOpenFileMetaArg((CHAR16*)CorrectedPath, EFI_FILE_MODE_READ, &ListHead);\r
if (EFI_ERROR(Status)) {\r
+ SHELL_FREE_NON_NULL(CorrectedPath);\r
+ if(Status == EFI_NOT_FOUND){\r
+ return (SHELL_NOT_FOUND);\r
+ }\r
return (SHELL_DEVICE_ERROR);\r
}\r
if (ListHead == NULL || IsListEmpty(&ListHead->Link)) {\r
+ SHELL_FREE_NON_NULL(CorrectedPath);\r
//\r
// On the first one only we expect to find something...\r
// do we find the . and .. directories otherwise?\r