summaryrefslogtreecommitdiff
path: root/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Core')
-rw-r--r--Core/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c8
-rw-r--r--Core/MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c8
2 files changed, 14 insertions, 2 deletions
diff --git a/Core/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c b/Core/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c
index 84a1c8ee53..2419cd2959 100644
--- a/Core/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c
+++ b/Core/MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.c
@@ -535,6 +535,8 @@ DumpSmiChildContext (
IN UINTN ContextSize
)
{
+ CHAR16 *Str;
+
if (CompareGuid (HandlerType, &gEfiSmmSwDispatch2ProtocolGuid)) {
Print(L" SwSmi=\"0x%x\"", ((EFI_SMM_SW_REGISTER_CONTEXT *)Context)->SwSmiInputValue);
} else if (CompareGuid (HandlerType, &gEfiSmmSxDispatch2ProtocolGuid)) {
@@ -555,7 +557,11 @@ DumpSmiChildContext (
Print(L" IoTrapType=\"%a\"", IoTrapTypeToString(((EFI_SMM_IO_TRAP_REGISTER_CONTEXT *)Context)->Type));
} else if (CompareGuid (HandlerType, &gEfiSmmUsbDispatch2ProtocolGuid)) {
Print(L" UsbType=\"0x%x\"", UsbTypeToString(((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context)->Type));
- Print(L" UsbDevicePath=\"%s\"", ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL *)(((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context) + 1), TRUE, TRUE));
+ Str = ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL *)(((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context) + 1), TRUE, TRUE);
+ Print(L" UsbDevicePath=\"%s\"", Str);
+ if (Str != NULL) {
+ FreePool (Str);
+ }
} else {
Print(L" Context=\"");
InternalDumpData (Context, ContextSize);
diff --git a/Core/MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c b/Core/MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c
index ad3b54ace4..63dcf6e3a1 100644
--- a/Core/MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c
+++ b/Core/MdeModulePkg/Core/PiSmmCore/SmiHandlerProfile.c
@@ -356,6 +356,8 @@ DumpSmiChildContext (
IN UINTN ContextSize
)
{
+ CHAR16 *Str;
+
if (CompareGuid (HandlerType, &gEfiSmmSwDispatch2ProtocolGuid)) {
DEBUG ((DEBUG_INFO, " SwSmi - 0x%x\n", ((EFI_SMM_SW_REGISTER_CONTEXT *)Context)->SwSmiInputValue));
} else if (CompareGuid (HandlerType, &gEfiSmmSxDispatch2ProtocolGuid)) {
@@ -376,7 +378,11 @@ DumpSmiChildContext (
DEBUG ((DEBUG_INFO, " IoTrapType - 0x%x\n", ((EFI_SMM_IO_TRAP_REGISTER_CONTEXT *)Context)->Type));
} else if (CompareGuid (HandlerType, &gEfiSmmUsbDispatch2ProtocolGuid)) {
DEBUG ((DEBUG_INFO, " UsbType - 0x%x\n", ((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context)->Type));
- DEBUG ((DEBUG_INFO, " UsbDevicePath - %s\n", ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL *)(((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context) + 1), TRUE, TRUE)));
+ Str = ConvertDevicePathToText((EFI_DEVICE_PATH_PROTOCOL *)(((SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT *)Context) + 1), TRUE, TRUE);
+ DEBUG ((DEBUG_INFO, " UsbDevicePath - %s\n", Str));
+ if (Str != NULL) {
+ FreePool (Str);
+ }
} else {
DEBUG ((DEBUG_INFO, " Context - "));
InternalDumpData (Context, ContextSize);