Buffer\r
);\r
}\r
- if (!EFI_ERROR (Status)) {\r
+ if (!EFI_ERROR (Status) && Buffer != NULL) {\r
//\r
// now parse the list of returned handles\r
//\r
CHAR16 *TestPath;\r
CONST CHAR16 *Walker;\r
UINTN Size;\r
+ CHAR16 *TempChar;\r
\r
RetVal = NULL;\r
\r
Walker = (CHAR16*)Path;\r
do {\r
CopyMem(TestPath, Walker, StrSize(Walker));\r
- if (StrStr(TestPath, L";") != NULL) {\r
- *(StrStr(TestPath, L";")) = CHAR_NULL;\r
+ TempChar = StrStr(TestPath, L";");\r
+ if (TempChar != NULL) {\r
+ *TempChar = CHAR_NULL;\r
}\r
StrCat(TestPath, FileName);\r
if (StrStr(Walker, L";") != NULL) {\r
CHAR16 *RetVal;\r
CONST CHAR16 *ExtensionWalker;\r
UINTN Size;\r
+ CHAR16 *TempChar;\r
+\r
ASSERT(FileName != NULL);\r
if (FileExtension == NULL) {\r
return (ShellFindFilePath(FileName));\r
TestPath = AllocateZeroPool(Size);\r
for (ExtensionWalker = FileExtension ; ; ExtensionWalker = StrStr(ExtensionWalker, L";") + 1 ){\r
StrCpy(TestPath, FileName);\r
- StrCat(TestPath, ExtensionWalker);\r
- if (StrStr(TestPath, L";") != NULL) {\r
- *(StrStr(TestPath, L";")) = CHAR_NULL;\r
+ if (ExtensionWalker != NULL) {\r
+ StrCat(TestPath, ExtensionWalker);\r
+ }\r
+ TempChar = StrStr(TestPath, L";");\r
+ if (TempChar != NULL) {\r
+ *TempChar = CHAR_NULL;\r
}\r
RetVal = ShellFindFilePath(TestPath);\r
if (RetVal != NULL) {\r
{\r
CONST CHAR16 *Walker;\r
for (Walker = String; Walker != NULL && *Walker != CHAR_NULL && *Walker == L' '; Walker++);\r
- if (StrnCmp(Walker, L"0x", 2) == 0 || StrnCmp(Walker, L"0X", 2) == 0){\r
- return (StrHexToUintn(Walker));\r
+ if (Walker == NULL || *Walker == CHAR_NULL) {\r
+ ASSERT(FALSE);\r
+ return ((UINTN)(-1));\r
+ } else {\r
+ if (StrnCmp(Walker, L"0x", 2) == 0 || StrnCmp(Walker, L"0X", 2) == 0){\r
+ return (StrHexToUintn(Walker));\r
+ }\r
+ return (StrDecimalToUintn(Walker));\r
}\r
- return (StrDecimalToUintn(Walker));\r
}\r
\r
/**\r