Reviewed-by: Qiu Shumin <[email protected]>
-----Original Message-----
From: Zeng, Star
Sent: Monday, March 07, 2016 3:46 PM
To: [email protected]
Cc: Yao, Jiewen; Ard Biesheuvel; Qiu, Shumin; Tian, Feng
Subject: [PATCH] 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 <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Shumin Qiu <[email protected]>
Cc: Feng Tian <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <[email protected]>
---
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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.<BR>
+ Copyright (c) 2006 - 2016, Intel Corporation. All rights
+ reserved.<BR>
Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
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)
) {
//
--
2.7.0.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel