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:
Shumin Qiu
2014-01-09 00:30:27 +00:00
committed by shenshushi
parent 0b716fd764
commit 03bc7c2b09
2 changed files with 10 additions and 6 deletions

View File

@ -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)
{ {

View File

@ -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;
}
} }
// //