diff options
author | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 07:32:46 +0000 |
---|---|---|
committer | qwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-10-30 07:32:46 +0000 |
commit | 676df92c2c0c5bdeb0f8e27349f5dd467928ce09 (patch) | |
tree | 68999d69951d5884d39a206c5c81ba59d91157fb /MdeModulePkg/Library/GraphicsLib/Graphics.c | |
parent | bb1d8ee66943c3d126abbfc007159eb0fe458927 (diff) | |
download | edk2-platforms-676df92c2c0c5bdeb0f8e27349f5dd467928ce09.tar.xz |
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
Diffstat (limited to 'MdeModulePkg/Library/GraphicsLib/Graphics.c')
-rw-r--r-- | MdeModulePkg/Library/GraphicsLib/Graphics.c | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/MdeModulePkg/Library/GraphicsLib/Graphics.c b/MdeModulePkg/Library/GraphicsLib/Graphics.c index 75aa91dc6c..bbf07feddd 100644 --- a/MdeModulePkg/Library/GraphicsLib/Graphics.c +++ b/MdeModulePkg/Library/GraphicsLib/Graphics.c @@ -467,7 +467,9 @@ EnableQuietBootEx ( // Currently only support BMP format.
//
if (Format != EfiBadgingFormatBMP) {
- SafeFreePool (ImageData);
+ if (ImageData != NULL) {
+ FreePool (ImageData);
+ }
continue;
}
} else {
@@ -494,7 +496,9 @@ EnableQuietBootEx ( &Width
);
if (EFI_ERROR (Status)) {
- SafeFreePool (ImageData);
+ if (ImageData != NULL) {
+ FreePool (ImageData);
+ }
if (Badging == NULL) {
return Status;
} else {
@@ -589,8 +593,12 @@ EnableQuietBootEx ( }
}
- SafeFreePool (ImageData);
- SafeFreePool (Blt);
+ if (ImageData != NULL) {
+ FreePool (ImageData);
+ }
+ if (Blt != NULL) {
+ FreePool (Blt);
+ }
if (Badging == NULL) {
break;
@@ -780,8 +788,8 @@ Print ( Blt->Image.Bitmap = AllocateZeroPool (Blt->Width * Blt->Height * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
if (Blt->Image.Bitmap == NULL) {
- SafeFreePool (Blt);
- SafeFreePool (Buffer);
+ FreePool (Blt);
+ FreePool (Buffer);
return EFI_OUT_OF_RESOURCES;
}
@@ -824,15 +832,23 @@ Print ( );
}
- SafeFreePool (RowInfoArray);
- SafeFreePool (Blt->Image.Bitmap);
+ if (RowInfoArray != NULL) {
+ FreePool (RowInfoArray);
+ }
+ if (Blt->Image.Bitmap != NULL) {
+ FreePool (Blt->Image.Bitmap);
+ }
} else {
Status = EFI_UNSUPPORTED;
}
Error:
- SafeFreePool (Blt);
- SafeFreePool (FontInfo);
+ if (Blt != NULL) {
+ FreePool (Blt);
+ }
+ if (FontInfo != NULL) {
+ FreePool (FontInfo);
+ }
FreePool (Buffer);
if (EFI_ERROR (Status)) {
|