if (Status == EFI_BUFFER_TOO_SMALL) {\r
SHELL_FREE_NON_NULL(FoundVarName);\r
FoundVarName = AllocateZeroPool (NameSize);\r
- if (PrevName != NULL) {\r
- StrCpy(FoundVarName, PrevName);\r
- }\r
+ if (FoundVarName != NULL) {\r
+ if (PrevName != NULL) {\r
+ StrCpy(FoundVarName, PrevName);\r
+ }\r
\r
- Status = gRT->GetNextVariableName (&NameSize, FoundVarName, &FoundVarGuid);\r
+ Status = gRT->GetNextVariableName (&NameSize, FoundVarName, &FoundVarGuid);\r
+ } else {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ }\r
}\r
\r
//\r