mirror of https://github.com/acidanthera/audk.git
f859c6796f
Invocations of EFI_ACPI_TABLE_PROTOCOL::UninstallAcpiTable() may result in a crash when the value of PcdAcpiExposedTableVersions does not include EFI_ACPI_TABLE_VERSION_1_0B. The reason is that EFI_ACPI_TABLE_PROTOCOL::InstallAcpiTable() will only populate the Rsdt1/Rsdt3 pointers when EFI_ACPI_TABLE_VERSION_1_0B is set, whereas EFI_ACPI_TABLE_PROTOCOL::UninstallAcpiTable() will invoke PublishTables with EFI_ACPI_TABLE_VERSION_1_0B alawys set, resulting in a NULL pointer dereference of the Rsdt1/Rsdt3 pointers. So take PcdAcpiExposedTableVersions into account for UninstallAcpiTable as well. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Star Zeng <star.zeng@intel.com> |
||
---|---|---|
.. | ||
AcpiSdt.c | ||
AcpiSdt.h | ||
AcpiTable.c | ||
AcpiTable.h | ||
AcpiTableDxe.inf | ||
AcpiTableDxe.uni | ||
AcpiTableDxeExtra.uni | ||
AcpiTableProtocol.c | ||
Aml.c | ||
AmlChild.c | ||
AmlNamespace.c | ||
AmlOption.c | ||
AmlString.c |