summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-30 08:00:56 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-30 08:00:56 +0000
commit7001eaf8e5c94dc03446d6edba3d523060b6a346 (patch)
treedfc8deeb1ef93f691d79a629f0755f35a5ac846a
parent676df92c2c0c5bdeb0f8e27349f5dd467928ce09 (diff)
downloadedk2-platforms-7001eaf8e5c94dc03446d6edba3d523060b6a346.tar.xz
Remove SafeFreePool from MemoryAllocationLib as this API's name is misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code.
It is recommended that module writer should keep track how a pointer is allocated and free it after use. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6307 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.c4
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Forms.c6
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c21
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c6
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Strings.c4
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c6
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParser.c45
-rw-r--r--EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParserExpression.c44
8 files changed, 93 insertions, 43 deletions
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.c
index 0955d7faff..0e4125450f 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/ConfigAccess.c
@@ -508,7 +508,9 @@ ThunkExtractConfig (
);
}
- SafeFreePool (Data);
+ if (Data != NULL) {
+ FreePool (Data);
+ }
return Status;
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Forms.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Forms.c
index 02beec331f..6616526e95 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Forms.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Forms.c
@@ -558,8 +558,10 @@ HiiUpdateForm (
Done:
if (UefiHiiUpdateData != NULL) {
- SafeFreePool (UefiHiiUpdateData->Data);
- SafeFreePool (UefiHiiUpdateData);
+ if (UefiHiiUpdateData->Data != NULL) {
+ FreePool (UefiHiiUpdateData->Data);
+ }
+ FreePool (UefiHiiUpdateData);
}
mInFrameworkUpdatePakcage = FALSE;
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c
index 845a9f72e0..c6b30cb85a 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/HiiDatabase.c
@@ -408,7 +408,9 @@ Returns:
Done:
FreePool (LangCodes3066);
- SafeFreePool (LangCodes639);
+ if (LangCodes639 != NULL) {
+ FreePool (LangCodes639);
+ }
return Status;
}
@@ -491,11 +493,18 @@ Returns:
*LanguageString = AsciiStrToUnicodeStr (SecLangCodes639, UnicodeSecLangCodes639);
Done:
-
- SafeFreePool (PrimaryLang639);
- SafeFreePool (SecLangCodes639);
- SafeFreePool (SecLangCodes3066);
- SafeFreePool (UnicodeSecLangCodes639);
+ if (PrimaryLang639 != NULL) {
+ FreePool (PrimaryLang639);
+ }
+ if (SecLangCodes639 != NULL) {
+ FreePool (SecLangCodes639);
+ }
+ if (SecLangCodes3066 != NULL) {
+ FreePool (SecLangCodes3066);
+ }
+ if (UnicodeSecLangCodes639 != NULL) {
+ FreePool (UnicodeSecLangCodes639);
+ }
return Status;
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
index 5f2aa18b84..d87b2a28d1 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Package.c
@@ -322,7 +322,7 @@ UefiRegisterPackageList(
&ThunkContext->UefiHiiHandle
);
if (Status == EFI_INVALID_PARAMETER) {
- SafeFreePool (PackageListHeader);
+ FreePool (PackageListHeader);
//
// UEFI HII database does not allow two package list with the same GUID.
@@ -386,7 +386,9 @@ Done:
*Handle = ThunkContext->FwHiiHandle;
}
- SafeFreePool (PackageListHeader);
+ if (PackageListHeader != NULL) {
+ FreePool (PackageListHeader);
+ }
return Status;
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Strings.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Strings.c
index c648e1da1a..5c499392fe 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Strings.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/Strings.c
@@ -378,7 +378,9 @@ Returns:
}
Done:
- SafeFreePool (Iso639AsciiLanguage);
+ if (Iso639AsciiLanguage != NULL) {
+ FreePool (Iso639AsciiLanguage);
+ }
return Status;
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c
index 4c382d4eef..f799dc664a 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c
@@ -462,9 +462,9 @@ DestroyDefaultNode (
IN UEFI_IFR_BUFFER_STORAGE_NODE *Node
)
{
- SafeFreePool (Node->Buffer);
- SafeFreePool (Node->Name);
- SafeFreePool (Node);
+ FreePool (Node->Buffer);
+ FreePool (Node->Name);
+ FreePool (Node);
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParser.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParser.c
index 8870128ad2..8b130af45f 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParser.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParser.c
@@ -386,7 +386,9 @@ DestroyExpression (
OpCode = EXPRESSION_OPCODE_FROM_LINK (Link);
RemoveEntryList (&OpCode->Link);
- SafeFreePool (OpCode->ValueList);
+ if (OpCode->ValueList != NULL) {
+ FreePool (OpCode->ValueList);
+ }
}
//
@@ -416,25 +418,25 @@ DestroyStorage (
return;
}
- SafeFreePool (Storage->Name);
- SafeFreePool (Storage->Buffer);
- SafeFreePool (Storage->EditBuffer);
+ FreePool (Storage->Name);
+ FreePool (Storage->Buffer);
+ FreePool (Storage->EditBuffer);
while (!IsListEmpty (&Storage->NameValueListHead)) {
Link = GetFirstNode (&Storage->NameValueListHead);
NameValueNode = NAME_VALUE_NODE_FROM_LINK (Link);
RemoveEntryList (&NameValueNode->Link);
- SafeFreePool (NameValueNode->Name);
- SafeFreePool (NameValueNode->Value);
- SafeFreePool (NameValueNode->EditValue);
- SafeFreePool (NameValueNode);
+ FreePool (NameValueNode->Name);
+ FreePool (NameValueNode->Value);
+ FreePool (NameValueNode->EditValue);
+ FreePool (NameValueNode);
}
- SafeFreePool (Storage->ConfigHdr);
- SafeFreePool (Storage->ConfigRequest);
+ FreePool (Storage->ConfigHdr);
+ FreePool (Storage->ConfigRequest);
- gBS->FreePool (Storage);
+ FreePool (Storage);
}
@@ -500,11 +502,16 @@ DestroyStatement (
DestroyExpression (Expression);
}
- SafeFreePool (Statement->VariableName);
- SafeFreePool (Statement->BlockName);
+ if (Statement->VariableName != NULL) {
+ FreePool (Statement->VariableName);
+ }
+ if (Statement->BlockName != NULL) {
+ FreePool (Statement->BlockName);
+ }
}
+
/**
Free resources of a Form
@@ -572,7 +579,7 @@ DestroyFormSet (
//
// Free IFR binary buffer
//
- SafeFreePool (FormSet->IfrBinaryData);
+ FreePool (FormSet->IfrBinaryData);
//
// Free FormSet Storage
@@ -613,10 +620,14 @@ DestroyFormSet (
}
}
- SafeFreePool (FormSet->StatementBuffer);
- SafeFreePool (FormSet->ExpressionBuffer);
+ if (FormSet->StatementBuffer != NULL) {
+ FreePool (FormSet->StatementBuffer);
+ }
+ if (FormSet->ExpressionBuffer != NULL) {
+ FreePool (FormSet->ExpressionBuffer);
+ }
- SafeFreePool (FormSet);
+ FreePool (FormSet);
}
diff --git a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParserExpression.c b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParserExpression.c
index caeb576336..1fc398fed2 100644
--- a/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParserExpression.c
+++ b/EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrParserExpression.c
@@ -732,9 +732,15 @@ IfrCatenate (
Result->Value.string = NewString (StringPtr, FormSet->HiiHandle);
Done:
- SafeFreePool (String[0]);
- SafeFreePool (String[1]);
- SafeFreePool (StringPtr);
+ if (String[0] != NULL) {
+ FreePool (String[0]);
+ }
+ if (String[1] != NULL) {
+ FreePool (String[1]);
+ }
+ if (StringPtr != NULL) {
+ FreePool (StringPtr);
+ }
return Status;
}
@@ -790,8 +796,12 @@ IfrMatch (
Result->Value.b = mUnicodeCollation->MetaiMatch (mUnicodeCollation, String[0], String[1]);
Done:
- SafeFreePool (String[0]);
- SafeFreePool (String[1]);
+ if (String[0] != NULL) {
+ FreePool (String[0]);
+ }
+ if (String[1] != NULL) {
+ FreePool (String[1]);
+ }
return Status;
}
@@ -875,8 +885,12 @@ IfrFind (
}
Done:
- SafeFreePool (String[0]);
- SafeFreePool (String[1]);
+ if (String[0] != NULL) {
+ FreePool (String[0]);
+ }
+ if (String[1] != NULL) {
+ FreePool (String[1]);
+ }
return Status;
}
@@ -1045,8 +1059,12 @@ IfrToken (
Result->Value.string = NewString (SubString, FormSet->HiiHandle);
Done:
- SafeFreePool (String[0]);
- SafeFreePool (String[1]);
+ if (String[0] != NULL) {
+ FreePool (String[0]);
+ }
+ if (String[1] != NULL) {
+ FreePool (String[1]);
+ }
return Status;
}
@@ -1149,8 +1167,12 @@ IfrSpan (
Result->Value.u64 = StringPtr - String[1];
Done:
- SafeFreePool (String[0]);
- SafeFreePool (String[1]);
+ if (String[0] != NULL) {
+ FreePool (String[0]);
+ }
+ if (String[1] != NULL) {
+ FreePool (String[1]);
+ }
return Status;
}