On 26 February 2016 at 03:41, Zeng, Star <[email protected]> wrote:
> On 2016/2/26 0:25, Ard Biesheuvel wrote:
>>
>> 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 <[email protected]>
>> ---
>> MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 22
>> +++++++++-----------
>> 1 file changed, 10 insertions(+), 12 deletions(-)
>
>
> Reviewed-by: Star Zeng <[email protected]>
>
Thanks, merged
>
>>
>> diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>> b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>> index f069458b1cba..f6229ca05c10 100644
>> --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>> +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>> @@ -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.
>>
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel