From 1b74e1c7ff8804851469922cae3af7fd83499b31 Mon Sep 17 00:00:00 2001 From: gdong1 Date: Thu, 8 Jan 2009 09:37:30 +0000 Subject: [PATCH] Fix FreePoll() bugs in some places. Removed the dependency to MdeModulePkg in the HiiLibFramework Removed EDK_RELEASE_VERSION and EFI_SPECIFICATION_VERSION in the Framework inf file. other coding style changes git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7218 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/FrameworkHiiLib/HiiLib.inf | 11 ++++------- .../FrameworkIfrSupportLib/IfrCommon.c | 13 ++++++++----- .../FrameworkIfrSupportLib/IfrOnTheFly.c | 2 ++ .../FrameworkIfrSupportLib/IfrSupportLib.inf | 17 ++++++----------- .../FrameworkUefiLib/FrameworkUefiLib.inf | 18 +++++++----------- .../Library/HiiLibFramework/HiiLibFramework.c | 1 - .../HiiLibFramework/HiiLibFramework.inf | 19 +++++++++++-------- 7 files changed, 38 insertions(+), 43 deletions(-) diff --git a/IntelFrameworkPkg/Library/FrameworkHiiLib/HiiLib.inf b/IntelFrameworkPkg/Library/FrameworkHiiLib/HiiLib.inf index 5880d4aa77..f2db95a971 100644 --- a/IntelFrameworkPkg/Library/FrameworkHiiLib/HiiLib.inf +++ b/IntelFrameworkPkg/Library/FrameworkHiiLib/HiiLib.inf @@ -1,8 +1,8 @@ #/** @file -# Library instance for HII common routines. +# Library instance for HII common routines. +# This library instance implements the common HII routines. # -# This library instance implements the common HII routines. -# Copyright (c) 2006, Intel Corporation +# Copyright (c) 2006, Intel Corporation. # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -21,12 +21,9 @@ MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 LIBRARY_CLASS = FrameworkHiiLib,HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - EDK_RELEASE_VERSION = 0x00020000 - EFI_SPECIFICATION_VERSION = 0x00020000 - + PI_SPECIFICATION_VERSION = 0x00000009 CONSTRUCTOR = FrameworkHiiLibConstructor - # # The following information is for reference only and not required by the build tools. # diff --git a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrCommon.c b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrCommon.c index 6ec7dc8838..9bc82f16b7 100644 --- a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrCommon.c +++ b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrCommon.c @@ -804,6 +804,7 @@ ValidateDataFromHiiHandle ( // VariableData = AllocateZeroPool (SizeOfNvStore); if (VariableData == NULL) { + FreePool (OldData); return EFI_OUT_OF_RESOURCES; } @@ -832,6 +833,7 @@ ValidateDataFromHiiHandle ( VariableData = AllocatePool (SizeOfNvStore); if (VariableData == NULL) { + FreePool (OldData); return EFI_OUT_OF_RESOURCES; } @@ -875,7 +877,7 @@ ValidateDataFromHiiHandle ( // if (!GotMatch) { *Results = FALSE; - return EFI_SUCCESS; + goto EXIT; } break; @@ -886,7 +888,7 @@ ValidateDataFromHiiHandle ( // if (VariableData[((FRAMEWORK_EFI_IFR_CHECKBOX *) &RawData[Index])->QuestionId] > 1) { *Results = FALSE; - return EFI_SUCCESS; + goto EXIT; } break; @@ -894,7 +896,7 @@ ValidateDataFromHiiHandle ( if ((VariableData[((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] < ((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->Minimum) || (VariableData[((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->QuestionId] > ((FRAMEWORK_EFI_IFR_NUMERIC *)&RawData[Index])->Maximum)) { *Results = FALSE; - return EFI_SUCCESS; + goto EXIT; } break; @@ -903,11 +905,12 @@ ValidateDataFromHiiHandle ( Index = RawData[Index + 1] + Index; } +EXIT: // // Free our temporary repository of form data // - gBS->FreePool (OldData); - gBS->FreePool (VariableData); + FreePool (OldData); + FreePool (VariableData); return EFI_SUCCESS; } diff --git a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrOnTheFly.c b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrOnTheFly.c index 4bdc40e54b..99386adac0 100644 --- a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrOnTheFly.c +++ b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrOnTheFly.c @@ -72,6 +72,8 @@ CreateFormSet ( GetCurrentLanguage (CurrentLanguage); Status = AddString (*StringBuffer, CurrentLanguage, FormSetTitle, &StringToken); if (EFI_ERROR (Status)) { + FreePool (FormBuffer); + FreePool (StringBuffer); return Status; } diff --git a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf index 442bb4a2fd..d2cbdfaa1c 100644 --- a/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf +++ b/IntelFrameworkPkg/Library/FrameworkIfrSupportLib/IfrSupportLib.inf @@ -1,9 +1,10 @@ #/** @file # EDK Internal Form Refresentation Support Library Instance. # -# The library instance provides common library routines help in -# IFR creation on-the-fly, HII variable access, HII database access, multi language supports. -# Copyright (c) 2006 - 2007, Intel Corporation. +# The library instance provides common library routines help in IFR creation on-the-fly, +# HII variable access, HII database access, multi language supports. +# +# Copyright (c) 2006 - 2007, Intel Corporation. # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -22,8 +23,7 @@ MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 LIBRARY_CLASS = FrameworkIfrSupportLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - EDK_RELEASE_VERSION = 0x00020000 - EFI_SPECIFICATION_VERSION = 0x00020000 + PI_SPECIFICATION_VERSION = 0x00000009 # # The following information is for reference only and not required by the build tools. @@ -40,12 +40,10 @@ IfrCommon.c IfrSupportLibInternal.h - [Packages] MdePkg/MdePkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec - [LibraryClasses] UefiRuntimeServicesTableLib UefiBootServicesTableLib @@ -54,11 +52,8 @@ BaseLib DebugLib - [Guids] - gEfiGlobalVariableGuid # ALWAYS_CONSUMED - + gEfiGlobalVariableGuid # CONSUMED, Variable Name: L"Lan" [Protocols] gEfiHiiProtocolGuid # PROTOCOL ALWAYS_CONSUMED - diff --git a/IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf b/IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf index 91285620f4..14bd3889a5 100644 --- a/IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf +++ b/IntelFrameworkPkg/Library/FrameworkUefiLib/FrameworkUefiLib.inf @@ -1,11 +1,13 @@ #/** @file -# Component description file for the entry point to a EFIDXE Drivers +# Component description file for the entry point to a EFIDXE Drivers # -# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification +# Library to abstract Framework extensions that conflict with UEFI 2.0 Specification. +# Help Port Framework/Tinao code that has conflicts with UEFI 2.0 by hiding the oldconflicts +# with library functions and supporting implementations of the old (EDK/EFI 1.10) and new +# (EDK II/UEFI 2.0) way. This module is a DXE driver as it contains DXE enum extensions for +# EFI event services. # -# Help Port Framework/Tinao code that has conflicts with UEFI 2.0 by hiding the oldconflicts with library functions and supporting implementations of the old -# (EDK/EFI 1.10) and new (EDK II/UEFI 2.0) way. This module is a DXE driver as it contains DXE enum extensions for EFI event services. -# Copyright (c) 2006, Intel Corporation. +# Copyright (c) 2006, Intel Corporation. # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -25,7 +27,6 @@ VERSION_STRING = 1.0 LIBRARY_CLASS = UefiLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - # # VALID_ARCHITECTURES = IA32 X64 IPF EBC # @@ -38,12 +39,10 @@ UefiLib.c UefiLibInternal.h - [Packages] MdePkg/MdePkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec - [LibraryClasses] PrintLib PcdLib @@ -59,7 +58,6 @@ gEfiEventReadyToBootGuid # ALWAYS_CONSUMED gEfiEventLegacyBootGuid # ALWAYS_CONSUMED - [Protocols] gEfiDriverBindingProtocolGuid # ALWAYS_CONSUMED gEfiSimpleTextOutProtocolGuid # ALWAYS_CONSUMED @@ -84,5 +82,3 @@ gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport - - diff --git a/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.c b/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.c index b24355494d..a72bf9c239 100644 --- a/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.c +++ b/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.c @@ -17,7 +17,6 @@ #include -#include #include #include #include diff --git a/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf b/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf index 0aab12e2e3..361342f9eb 100644 --- a/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf +++ b/IntelFrameworkPkg/Library/HiiLibFramework/HiiLibFramework.inf @@ -1,8 +1,9 @@ #/** @file -# Library instance for HII common routines. +# Library instance for HII common routines. # -# This library instance implements the common HII routines. -# Copyright (c) 2006, Intel Corporation +# This library instance implements the common HII routines. +# +# Copyright (c) 2006, Intel Corporation # # All rights reserved. This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -21,13 +22,10 @@ MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 LIBRARY_CLASS = HiiLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - EDK_RELEASE_VERSION = 0x00020000 - EFI_SPECIFICATION_VERSION = 0x00020000 + PI_SPECIFICATION_VERSION = 0x00000009 CONSTRUCTOR = HiiLibFrameworkConstructor - - # # The following information is for reference only and not required by the build tools. # @@ -39,10 +37,15 @@ [Packages] MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec [LibraryClasses] MemoryAllocationLib + UefiBootServicesTableLib DebugLib +[Protocols] + gEfiHiiProtocolGuid # PROTOCOL ALWAYS_CONSUMED + +[Depex] + gEfiHiiProtocolGuid