From 1fa282ec235841faae3259b1bd9517dd681ee465 Mon Sep 17 00:00:00 2001 From: xli24 Date: Mon, 29 Jun 2009 07:29:39 +0000 Subject: Add check for memory allocation. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8678 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/DxeReportStatusCodeLibFramework/ReportStatusCodeLib.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/ReportStatusCodeLib.c b/IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/ReportStatusCodeLib.c index 1c2192a11d..ac29009c74 100644 --- a/IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/ReportStatusCodeLib.c +++ b/IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/ReportStatusCodeLib.c @@ -491,11 +491,15 @@ ReportStatusCodeEx ( ASSERT (!((ExtendedData == NULL) && (ExtendedDataSize != 0))); ASSERT (!((ExtendedData != NULL) && (ExtendedDataSize == 0))); + if (gBS == NULL || gBS->AllocatePool == NULL || gBS->FreePool == NULL) { + return EFI_UNSUPPORTED; + } + // // Allocate space for the Status Code Header and its buffer // StatusCodeData = NULL; - StatusCodeData = AllocatePool (sizeof (EFI_STATUS_CODE_DATA) + ExtendedDataSize); + gBS->AllocatePool (EfiBootServicesData, sizeof (EFI_STATUS_CODE_DATA) + ExtendedDataSize, (VOID **)&StatusCodeData); if (StatusCodeData == NULL) { return EFI_OUT_OF_RESOURCES; } @@ -528,7 +532,7 @@ ReportStatusCodeEx ( // // Free the allocated buffer // - FreePool (StatusCodeData); + gBS->FreePool (StatusCodeData); return Status; } -- cgit v1.2.3