Verify more memory allocations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10910 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -287,7 +287,7 @@ ValidateAndCopyFiles(
|
||||
HiiResultOk = HiiGetString (gShellLevel2HiiHandle, STRING_TOKEN (STR_GEN_RES_OK), NULL);
|
||||
DestPath = AllocatePool(PathLen);
|
||||
|
||||
if (HiiOutput == NULL || HiiOutput == NULL || HiiResultOk == NULL) {
|
||||
if (DestPath == NULL || HiiOutput == NULL || HiiResultOk == NULL) {
|
||||
SHELL_FREE_NON_NULL(DestPath);
|
||||
SHELL_FREE_NON_NULL(HiiOutput);
|
||||
SHELL_FREE_NON_NULL(HiiResultOk);
|
||||
|
@ -664,6 +664,9 @@ PerformMappingDelete(
|
||||
HandleBuffer);
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
HandleBuffer = AllocatePool(BufferSize);
|
||||
if (HandleBuffer == NULL) {
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
Status = gBS->LocateHandle(
|
||||
ByProtocol,
|
||||
&gEfiDevicePathProtocolGuid,
|
||||
@ -671,8 +674,10 @@ PerformMappingDelete(
|
||||
&BufferSize,
|
||||
HandleBuffer);
|
||||
}
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
ASSERT(HandleBuffer != NULL);
|
||||
if (EFI_ERROR(Status)) {
|
||||
SHELL_FREE_NON_NULL(HandleBuffer);
|
||||
return (Status);
|
||||
}
|
||||
|
||||
//
|
||||
// Get the map name(s) for each one.
|
||||
@ -698,6 +703,9 @@ PerformMappingDelete(
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
FreePool(HandleBuffer);
|
||||
HandleBuffer = AllocatePool(BufferSize);
|
||||
if (HandleBuffer == NULL) {
|
||||
return (EFI_OUT_OF_RESOURCES);
|
||||
}
|
||||
Status = gBS->LocateHandle(
|
||||
ByProtocol,
|
||||
&gEfiBlockIoProtocolGuid,
|
||||
@ -705,7 +713,10 @@ PerformMappingDelete(
|
||||
&BufferSize,
|
||||
HandleBuffer);
|
||||
}
|
||||
ASSERT_EFI_ERROR(Status);
|
||||
if (EFI_ERROR(Status)) {
|
||||
SHELL_FREE_NON_NULL(HandleBuffer);
|
||||
return (Status);
|
||||
}
|
||||
|
||||
//
|
||||
// Get the map name(s) for each one.
|
||||
|
@ -44,7 +44,7 @@ IsValidMove(
|
||||
CHAR16 *Test;
|
||||
CHAR16 *Test1;
|
||||
CHAR16 *TestWalker;
|
||||
UINTN Result;
|
||||
INTN Result;
|
||||
UINTN TempLen;
|
||||
if (Cwd != NULL && StrCmp(FullName, Cwd) == 0) {
|
||||
//
|
||||
@ -236,6 +236,7 @@ ValidateAndMoveFiles(
|
||||
EFI_FILE_INFO *NewFileInfo;
|
||||
CHAR16 *TempLocation;
|
||||
UINTN NewSize;
|
||||
UINTN Length;
|
||||
|
||||
ASSERT(FileList != NULL);
|
||||
ASSERT(DestDir != NULL);
|
||||
@ -310,12 +311,16 @@ ValidateAndMoveFiles(
|
||||
} else {
|
||||
StrCpy(NewFileInfo->FileName, DestPath);
|
||||
}
|
||||
if (NewFileInfo->FileName[StrLen(NewFileInfo->FileName)-1] == L'\\') {
|
||||
Length = StrLen(NewFileInfo->FileName);
|
||||
if (Length > 0) {
|
||||
Length--;
|
||||
}
|
||||
if (NewFileInfo->FileName[Length] == L'\\') {
|
||||
if (Node->FileName[0] == L'\\') {
|
||||
//
|
||||
// Don't allow for double slashes. Eliminate one of them.
|
||||
//
|
||||
NewFileInfo->FileName[StrLen(NewFileInfo->FileName)-1] = CHAR_NULL;
|
||||
NewFileInfo->FileName[Length] = CHAR_NULL;
|
||||
}
|
||||
StrCat(NewFileInfo->FileName, Node->FileName);
|
||||
}
|
||||
|
Reference in New Issue
Block a user