pointer verification (not NULL) and buffer overrun fixes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11459 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -330,6 +330,9 @@ MappingListHasType(
|
||||
//
|
||||
if (Specific != NULL) {
|
||||
NewSpecific = AllocateZeroPool(StrSize(Specific) + sizeof(CHAR16));
|
||||
if (NewSpecific == NULL){
|
||||
return FALSE;
|
||||
}
|
||||
StrCpy(NewSpecific, Specific);
|
||||
if (NewSpecific[StrLen(NewSpecific)-1] != L':') {
|
||||
StrCat(NewSpecific, L":");
|
||||
@ -609,7 +612,7 @@ PerformMappingDisplay(
|
||||
// Get the map name(s) for each one.
|
||||
//
|
||||
for ( LoopVar = 0, Found = FALSE
|
||||
; LoopVar < (BufferSize / sizeof(EFI_HANDLE))
|
||||
; LoopVar < (BufferSize / sizeof(EFI_HANDLE)) && HandleBuffer != NULL
|
||||
; LoopVar ++
|
||||
){
|
||||
Status = PerformSingleMappingDisplay(
|
||||
@ -635,7 +638,7 @@ PerformMappingDisplay(
|
||||
&BufferSize,
|
||||
HandleBuffer);
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
FreePool(HandleBuffer);
|
||||
SHELL_FREE_NON_NULL(HandleBuffer);
|
||||
HandleBuffer = AllocateZeroPool(BufferSize);
|
||||
if (HandleBuffer == NULL) {
|
||||
return (SHELL_OUT_OF_RESOURCES);
|
||||
@ -897,6 +900,9 @@ AddMappingFromMapping(
|
||||
CHAR16 *NewSName;
|
||||
|
||||
NewSName = AllocateZeroPool(StrSize(SName) + sizeof(CHAR16));
|
||||
if (NewSName == NULL) {
|
||||
return (SHELL_OUT_OF_RESOURCES);
|
||||
}
|
||||
StrCpy(NewSName, SName);
|
||||
if (NewSName[StrLen(NewSName)-1] != L':') {
|
||||
StrCat(NewSName, L":");
|
||||
@ -947,6 +953,9 @@ AddMappingFromHandle(
|
||||
CHAR16 *NewSName;
|
||||
|
||||
NewSName = AllocateZeroPool(StrSize(SName) + sizeof(CHAR16));
|
||||
if (NewSName == NULL) {
|
||||
return (SHELL_OUT_OF_RESOURCES);
|
||||
}
|
||||
StrCpy(NewSName, SName);
|
||||
if (NewSName[StrLen(NewSName)-1] != L':') {
|
||||
StrCat(NewSName, L":");
|
||||
|
@ -124,7 +124,7 @@ CheckAndSetDate (
|
||||
if (Walker1 != NULL) {
|
||||
Walker = Walker1 + 1;
|
||||
}
|
||||
Walker1 = StrStr(Walker, L"/");
|
||||
Walker1 = Walker!=NULL?StrStr(Walker, L"/"):NULL;
|
||||
if (Walker1 != NULL && *Walker1 == L'/') {
|
||||
*Walker1 = CHAR_NULL;
|
||||
}
|
||||
@ -133,7 +133,7 @@ CheckAndSetDate (
|
||||
if (Walker1 != NULL) {
|
||||
Walker = Walker1 + 1;
|
||||
}
|
||||
Walker1 = StrStr(Walker, L"/");
|
||||
Walker1 = Walker!=NULL?StrStr(Walker, L"/"):NULL;
|
||||
if (Walker1 != NULL && *Walker1 == L'/') {
|
||||
*Walker1 = CHAR_NULL;
|
||||
}
|
||||
@ -312,7 +312,7 @@ CheckAndSetTime (
|
||||
TheTime.Hour = 0xFF;
|
||||
TheTime.Minute = 0xFF;
|
||||
|
||||
Walker2 = StrStr(Walker1, L":");
|
||||
Walker2 = Walker1!=NULL?StrStr(Walker1, L":"):NULL;
|
||||
if (Walker2 != NULL && *Walker2 == L':') {
|
||||
*Walker2 = CHAR_NULL;
|
||||
}
|
||||
@ -320,7 +320,7 @@ CheckAndSetTime (
|
||||
if (Walker2 != NULL) {
|
||||
Walker1 = Walker2 + 1;
|
||||
}
|
||||
Walker2 = StrStr(Walker1, L":");
|
||||
Walker2 = Walker1!=NULL?StrStr(Walker1, L":"):NULL;
|
||||
if (Walker2 != NULL && *Walker2 == L':') {
|
||||
*Walker2 = CHAR_NULL;
|
||||
}
|
||||
|
@ -97,6 +97,8 @@ HandleVol(
|
||||
SysInfo);
|
||||
}
|
||||
|
||||
ASSERT(SysInfo != NULL);
|
||||
|
||||
if (Delete) {
|
||||
StrCpy ((CHAR16 *) SysInfo->VolumeLabel, L"");
|
||||
SysInfo->Size = SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize(SysInfo->VolumeLabel);
|
||||
|
Reference in New Issue
Block a user