From efef6ad6d7487606782a5d4aa09656fb606129d6 Mon Sep 17 00:00:00 2001 From: Star Zeng Date: Mon, 7 Mar 2016 14:01:46 +0800 Subject: MdeModulePkg AcpiTableDxe: Use Rsdt to check against NULL Some static scan tool may regard CurrentRsdtEntry to be potentially referenced to NULL pointer if CurrentRsdtEntry == NULL is used in the right above if condition judgment. CopyMem (CurrentRsdtEntry, CurrentRsdtEntry + 1, (*NumberOfTableEntries - Index) * sizeof (UINT32)); It is introduced by commit f9bbb8d9c3f065faba9f266cf4e731fe2ca70c4d. To avoid it and have same style with "((Xsdt == NULL) || CurrentTablePointer64 == (UINT64) (UINTN) Table->Table)", use Rsdt instead of CurrentRsdtEntry to check against NULL. Cc: Jiewen Yao Cc: Ard Biesheuvel Cc: Shumin Qiu Cc: Feng Tian Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng Reviewed-by: Shumin Qiu --- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'MdeModulePkg') diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c index f6229ca..7f95b9d 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c @@ -1,7 +1,7 @@ /** @file ACPI Table Protocol Implementation - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
Copyright (c) 2016, Linaro Ltd. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -1132,7 +1132,7 @@ RemoveTableFromRsdt ( // // Check if we have found the corresponding entry in both RSDT and XSDT // - if ((CurrentRsdtEntry == NULL || *CurrentRsdtEntry == (UINT32) (UINTN) Table->Table) && + if (((Rsdt == NULL) || *CurrentRsdtEntry == (UINT32) (UINTN) Table->Table) && ((Xsdt == NULL) || CurrentTablePointer64 == (UINT64) (UINTN) Table->Table) ) { // -- cgit v1.1