[edk2-devel] [PATCH 1/2] MinPlatformPkg/AcpiTables: Initialize variables before used
Chiu, Chasel
chasel.chiu at intel.com
Mon Sep 2 13:48:09 UTC 2019
Please extend copyright. With this update, Reviewed-by: Chasel Chiu <chasel.chiu at intel.com>
> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Monday, September 2, 2019 8:30 PM
> To: devel at edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki at intel.com>; Chiu, Chasel
> <chasel.chiu at intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone at intel.com>; Gao, Liming <liming.gao at intel.com>
> Subject: [PATCH 1/2] MinPlatformPkg/AcpiTables: Initialize variables before
> used
>
> MadtStructs, NewMadtTable and MaxMadtStructCount are not initialized
> before used or at the proper place. So assign values to them at the
> beginning and change the logic when freeing MadtStructs and
> NewMadtTable.
>
> Cc: Michael Kubacki <michael.a.kubacki at intel.com>
> Cc: Chasel Chiu <chasel.chiu at intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone at intel.com>
> Cc: Liming Gao <liming.gao at intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang at intel.com>
> ---
> .../Acpi/AcpiTables/AcpiPlatform.c | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> index 5eb72792..85d1bd9a 100644
> --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c
> @@ -867,13 +867,15 @@ InstallMadtFromScratch (
> UINT32
> PcIoApicMask;
> UINTN
> PcIoApicIndex;
>
> + MadtStructs = NULL;
> + NewMadtTable = NULL;
> + MaxMadtStructCount = 0;
> +
> DetectApicIdMap();
>
> // Call for Local APIC ID Reorder
> SortCpuLocalApicInTable ();
>
> - NewMadtTable = NULL;
> -
> MaxMadtStructCount = (UINT32) (
> MAX_CPU_NUM + // processor local APIC structures
> MAX_CPU_NUM + // processor local x2APIC structures
> @@ -1115,14 +1117,15 @@ Done:
> //
> // Free memory
> //
> - for (MadtStructsIndex = 0; MadtStructsIndex < MaxMadtStructCount;
> MadtStructsIndex++) {
> - if (MadtStructs[MadtStructsIndex] != NULL) {
> - FreePool (MadtStructs[MadtStructsIndex]);
> + if (MadtStructs != NULL){
> + for (MadtStructsIndex = 0; MadtStructsIndex < MaxMadtStructCount;
> MadtStructsIndex++) {
> + if (MadtStructs[MadtStructsIndex] != NULL) {
> + FreePool (MadtStructs[MadtStructsIndex]);
> + }
> }
> + FreePool (MadtStructs);
> }
> -
> - FreePool (MadtStructs);
> -
> +
> if (NewMadtTable != NULL) {
> FreePool (NewMadtTable);
> }
> --
> 2.18.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#46674): https://edk2.groups.io/g/devel/message/46674
Mute This Topic: https://groups.io/mt/33110578/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list