Remove SafeFreePool from MemoryAllocationLib as this API's name is misleading. Its implementation only check if a pointer is NULL. If a garbage pointer is passed in, the gBS->FreePool will still ASSERT in debug build and return error code.
It is recommended that module writer should keep track how a pointer is allocated and free it after use. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6306 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -45,7 +45,7 @@ ReallocatePool (
|
||||
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);
|
||||
}
|
||||
|
||||
SafeFreePool (OldPool);
|
||||
FreePool (OldPool);
|
||||
}
|
||||
|
||||
return NewPool;
|
||||
@@ -108,7 +108,7 @@ CatPrint (
|
||||
Str->len = StringSize - sizeof (UINT16);
|
||||
}
|
||||
|
||||
SafeFreePool (AppendStr);
|
||||
FreePool (AppendStr);
|
||||
return Str->str;
|
||||
}
|
||||
|
||||
@@ -1594,7 +1594,7 @@ DevicePathToStr (
|
||||
//
|
||||
// Shrink pool used for string allocation
|
||||
//
|
||||
SafeFreePool (DevPath);
|
||||
FreePool (DevPath);
|
||||
|
||||
Done:
|
||||
NewSize = (Str.len + 1) * sizeof (CHAR16);
|
||||
|
Reference in New Issue
Block a user