RedfishPkg/RedfishConfigHandler: Free handle buffers
Fix memory leaks by adding missing FreePool calls: free handle buffers in Stop and initialization routines. REF:https://uefi.org/sites/default/files/resources/UEFI_Spec_Final_2.11.pdf Chapter 7.3.15: "Services - Boot Services.LocateHandleBuffer": It is the caller's responsibility to call the Boot Service.FreePool when the caller no longer requires the contents of Buffer. Signed-off-by: Dongyan Qian <qiandongyan@loongson.cn>
This commit is contained in:
committed by
mergify[bot]
parent
ddacfa238a
commit
108757b613
@@ -188,11 +188,12 @@ RedfishConfigCommonStop (
|
||||
&NumberOfHandles,
|
||||
&HandleBuffer
|
||||
);
|
||||
if (EFI_ERROR (Status) && (Status != EFI_NOT_FOUND)) {
|
||||
if (Status == EFI_NOT_FOUND) {
|
||||
return EFI_SUCCESS;
|
||||
} else if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = EFI_SUCCESS;
|
||||
for (Index = 0; Index < NumberOfHandles; Index++) {
|
||||
Status = gBS->HandleProtocol (
|
||||
HandleBuffer[Index],
|
||||
@@ -208,6 +209,8 @@ RedfishConfigCommonStop (
|
||||
}
|
||||
}
|
||||
|
||||
gBS->FreePool (HandleBuffer);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -272,4 +275,6 @@ RedfishConfigHandlerInitialization (
|
||||
);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
|
||||
gBS->FreePool (HandleBuffer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user