Add code to check whether the pointer 'NewBuffer' in 'FileHandelWrappers.c' and the pointer 'FoundVarName' in 'Dmpstore.c' are NULL before used.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15060 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
EFI_FILE_PROTOCOL wrappers for other items (Like Environment Variables,
|
EFI_FILE_PROTOCOL wrappers for other items (Like Environment Variables,
|
||||||
StdIn, StdOut, StdErr, etc...).
|
StdIn, StdOut, StdErr, etc...).
|
||||||
|
|
||||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||||
Copyright (c) 2013, Hewlett-Packard Development Company, L.P.
|
Copyright (c) 2013, Hewlett-Packard Development Company, L.P.
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
@ -973,7 +973,7 @@ FileInterfaceEnvClose(
|
|||||||
Status = SHELL_GET_ENVIRONMENT_VARIABLE(((EFI_FILE_PROTOCOL_ENVIRONMENT*)This)->Name, &NewSize, NewBuffer);
|
Status = SHELL_GET_ENVIRONMENT_VARIABLE(((EFI_FILE_PROTOCOL_ENVIRONMENT*)This)->Name, &NewSize, NewBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!EFI_ERROR(Status)) {
|
if (!EFI_ERROR(Status) && NewBuffer != NULL) {
|
||||||
|
|
||||||
if (StrSize(NewBuffer) > 6)
|
if (StrSize(NewBuffer) > 6)
|
||||||
{
|
{
|
||||||
|
@ -121,11 +121,15 @@ CascadeProcessVariables (
|
|||||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||||
SHELL_FREE_NON_NULL(FoundVarName);
|
SHELL_FREE_NON_NULL(FoundVarName);
|
||||||
FoundVarName = AllocateZeroPool (NameSize);
|
FoundVarName = AllocateZeroPool (NameSize);
|
||||||
if (PrevName != NULL) {
|
if (FoundVarName != NULL) {
|
||||||
StrCpy(FoundVarName, PrevName);
|
if (PrevName != NULL) {
|
||||||
}
|
StrCpy(FoundVarName, PrevName);
|
||||||
|
}
|
||||||
|
|
||||||
Status = gRT->GetNextVariableName (&NameSize, FoundVarName, &FoundVarGuid);
|
Status = gRT->GetNextVariableName (&NameSize, FoundVarName, &FoundVarGuid);
|
||||||
|
} else {
|
||||||
|
Status = EFI_OUT_OF_RESOURCES;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Reference in New Issue
Block a user