diff options
author | Lv Zheng <lv.zheng@intel.com> | 2014-01-07 16:03:18 +0800 |
---|---|---|
committer | Lv Zheng <lv.zheng@intel.com> | 2014-03-19 10:37:20 +0800 |
commit | b5aa7a5047957a16332823864b3bcca18e18ac43 (patch) | |
tree | f3a9929585b6fbd0cd3351bb30ce76da51044de6 /source/components/tables | |
parent | 2d5e8e5a6741993e6605752271bb768c83be3982 (diff) | |
download | acpica-b5aa7a5047957a16332823864b3bcca18e18ac43.tar.gz |
Tables: Fix the issue that table validations are not balanced.
As AcpiTbValidateTable() returns failure on checksum verification without
doing invalidatation, all its invocations that are not done to a descriptor
stored in AcpiGbl_RootTableList are checked and balanced.
But this is not a real issue as the descritors that have been passed to
AcpiTbAddTable() are all virtual address tables and the validations are in
fact no-op. The cleanup can ensure that any future extensions made on
AcpiTbAddTable() to allow it to be invoked with physical address tables
will not trigger memory leakage regressions.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Diffstat (limited to 'source/components/tables')
-rw-r--r-- | source/components/tables/tbinstal.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c index 27a6b9051..9b55612f6 100644 --- a/source/components/tables/tbinstal.c +++ b/source/components/tables/tbinstal.c @@ -337,6 +337,7 @@ AcpiTbAddTable ( Status = AcpiTbValidateTable (TableDesc); if (ACPI_FAILURE (Status) || !TableDesc->Pointer) { + AcpiTbInvalidateTable (TableDesc); return_ACPI_STATUS (Status); } } |