Fix memory leak issues.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13428 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -825,6 +825,7 @@ BdsLibGetVariableAndSize (
|
||||
//
|
||||
Buffer = AllocateZeroPool (BufferSize);
|
||||
if (Buffer == NULL) {
|
||||
*VariableSize = 0;
|
||||
return NULL;
|
||||
}
|
||||
//
|
||||
@@ -832,10 +833,15 @@ BdsLibGetVariableAndSize (
|
||||
//
|
||||
Status = gRT->GetVariable (Name, VendorGuid, NULL, &BufferSize, Buffer);
|
||||
if (EFI_ERROR (Status)) {
|
||||
FreePool (Buffer);
|
||||
BufferSize = 0;
|
||||
Buffer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
ASSERT (((Buffer == NULL) && (BufferSize == 0)) ||
|
||||
((Buffer != NULL) && (BufferSize != 0))
|
||||
);
|
||||
*VariableSize = BufferSize;
|
||||
return Buffer;
|
||||
}
|
||||
|
Reference in New Issue
Block a user