MdeModulePkg: AcpiTableDxe: fix VS2008 build by merging adjacent if blocks

The assignment of CurrentRsdtEntry and its subsequent dereference are
subject to the same condition, but for some reason, VS2008 does not see
that and warns about the dereference possibly involving an uninitialized
pointer. Since the single statememt between the blocks is unrelated, we
can just move it and merge the two conditional blocks together.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: David Woodhouse <David.Woodhouse@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
Ard Biesheuvel 2016-02-25 17:20:21 +01:00
parent 6474f1f156
commit 3a61de23b3
1 changed files with 10 additions and 12 deletions

View File

@ -963,6 +963,16 @@ AddTableToList (
AcpiTableInstance->NumberOfTableEntries3 *
sizeof (UINT32)
);
//
// Add entry to the RSDT
//
*CurrentRsdtEntry = (UINT32) (UINTN) CurrentTableList->Table;
//
// Update RSDT length
//
AcpiTableInstance->Rsdt3->Length = AcpiTableInstance->Rsdt3->Length + sizeof (UINT32);
}
//
@ -977,18 +987,6 @@ AddTableToList (
sizeof (UINT64)
);
if ((PcdGet32 (PcdAcpiExposedTableVersions) & EFI_ACPI_TABLE_VERSION_1_0B) != 0) {
//
// Add entry to the RSDT
//
*CurrentRsdtEntry = (UINT32) (UINTN) CurrentTableList->Table;
//
// Update RSDT length
//
AcpiTableInstance->Rsdt3->Length = AcpiTableInstance->Rsdt3->Length + sizeof (UINT32);
}
//
// Add entry to XSDT, XSDT expects 64 bit pointers, but
// the table pointers in XSDT are not aligned on 8 byte boundary.