summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c')
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c60
1 files changed, 43 insertions, 17 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
index 3a9a8bc3b9..f640d12e3a 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
@@ -445,7 +445,9 @@ DestroyExpression (
OpCode = EXPRESSION_OPCODE_FROM_LINK (Link);
RemoveEntryList (&OpCode->Link);
- SafeFreePool (OpCode->ValueList);
+ if (OpCode->ValueList != NULL) {
+ FreePool (OpCode->ValueList);
+ }
}
//
@@ -473,25 +475,41 @@ DestroyStorage (
return;
}
- SafeFreePool (Storage->Name);
- SafeFreePool (Storage->Buffer);
- SafeFreePool (Storage->EditBuffer);
+ if (Storage->Name != NULL) {
+ FreePool (Storage->Name);
+ }
+ if (Storage->Buffer != NULL) {
+ FreePool (Storage->Buffer);
+ }
+ if (Storage->EditBuffer != NULL) {
+ 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);
+ if (NameValueNode->Name != NULL) {
+ FreePool (NameValueNode->Name);
+ }
+ if (NameValueNode->Value != NULL) {
+ FreePool (NameValueNode->Value);
+ }
+ if (NameValueNode->EditValue != NULL) {
+ FreePool (NameValueNode->EditValue);
+ }
+ FreePool (NameValueNode);
}
- SafeFreePool (Storage->ConfigHdr);
- SafeFreePool (Storage->ConfigRequest);
+ if (Storage->ConfigHdr != NULL) {
+ FreePool (Storage->ConfigHdr);
+ }
+ if (Storage->ConfigRequest != NULL) {
+ FreePool (Storage->ConfigRequest);
+ }
- gBS->FreePool (Storage);
+ FreePool (Storage);
}
@@ -555,8 +573,12 @@ DestroyStatement (
DestroyExpression (Expression);
}
- SafeFreePool (Statement->VariableName);
- SafeFreePool (Statement->BlockName);
+ if (Statement->VariableName != NULL) {
+ FreePool (Statement->VariableName);
+ }
+ if (Statement->BlockName != NULL) {
+ FreePool (Statement->BlockName);
+ }
}
@@ -623,7 +645,7 @@ DestroyFormSet (
//
// Free IFR binary buffer
//
- SafeFreePool (FormSet->IfrBinaryData);
+ FreePool (FormSet->IfrBinaryData);
//
// Free FormSet Storage
@@ -664,10 +686,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);
}