]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c
MdeModulePkg/SmmCore: Fix memory leak on Profile unregistered.
[mirror_edk2.git] / MdeModulePkg / Core / PiSmmCore / SmiHandlerProfile.c
index 1e36039dd44350e4cfd9b0c4c0bf5970c058b736..ad3b54ace4285444f1b55875fe15ba7a1a996c9d 100644 (file)
@@ -1186,7 +1186,9 @@ SmiHandlerProfileRegisterHandler (
 \r
   SmiEntry = SmmCoreFindHardwareSmiEntry (HandlerGuid, TRUE);\r
   if (SmiEntry == NULL) {\r
-    FreePool (SmiHandler->Context);\r
+    if (SmiHandler->Context != NULL) {\r
+      FreePool (SmiHandler->Context);\r
+    }\r
     FreePool (SmiHandler);\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
@@ -1277,6 +1279,9 @@ SmiHandlerProfileUnregisterHandler (
   SmiHandler = TargetSmiHandler;\r
 \r
   RemoveEntryList (&SmiHandler->Link);\r
+  if (SmiHandler->Context != NULL) {\r
+    FreePool (SmiHandler->Context);\r
+  }\r
   FreePool (SmiHandler);\r
 \r
   if (IsListEmpty (&SmiEntry->SmiHandlers)) {\r