mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-27 23:54:02 +02:00
BaseTools/GenPage: Avoid possible NULL pointer dereference
Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
06b4573598
commit
18c2a7621d
@ -15,7 +15,7 @@
|
|||||||
Directory-Ptr Directory {512}
|
Directory-Ptr Directory {512}
|
||||||
) {4}
|
) {4}
|
||||||
|
|
||||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||||
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
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -146,6 +146,10 @@ Return:
|
|||||||
X64_PAGE_TABLE_ENTRY_2M *PageDirectoryEntry2MB;
|
X64_PAGE_TABLE_ENTRY_2M *PageDirectoryEntry2MB;
|
||||||
|
|
||||||
PageTable = (void *)malloc (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE);
|
PageTable = (void *)malloc (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE);
|
||||||
|
if (PageTable == NULL) {
|
||||||
|
Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
memset (PageTable, 0, (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE));
|
memset (PageTable, 0, (EFI_PAGE_NUMBER * EFI_SIZE_OF_PAGE));
|
||||||
PageTablePtr = PageTable;
|
PageTablePtr = PageTable;
|
||||||
|
|
||||||
@ -417,6 +421,10 @@ main (
|
|||||||
// Create X64 page table
|
// Create X64 page table
|
||||||
//
|
//
|
||||||
BaseMemory = CreateIdentityMappingPageTables ();
|
BaseMemory = CreateIdentityMappingPageTables ();
|
||||||
|
if (BaseMemory == NULL) {
|
||||||
|
Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");
|
||||||
|
return STATUS_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Add page table to binary file
|
// Add page table to binary file
|
||||||
|
Loading…
x
Reference in New Issue
Block a user