mirror of https://github.com/acidanthera/audk.git
Update to use ReallocatePool() from BaseMemoryLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6678 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d777486198
commit
c46484952a
|
@ -1749,8 +1749,6 @@ ConSplitterGrowBuffer (
|
|||
IN OUT VOID **Buffer
|
||||
)
|
||||
{
|
||||
UINTN NewSize;
|
||||
UINTN OldSize;
|
||||
VOID *Ptr;
|
||||
|
||||
//
|
||||
|
@ -1758,23 +1756,16 @@ ConSplitterGrowBuffer (
|
|||
// copy the old buffer's content to the new-size buffer,
|
||||
// then free the old buffer.
|
||||
//
|
||||
OldSize = *Count * SizeOfCount;
|
||||
*Count += CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT;
|
||||
NewSize = *Count * SizeOfCount;
|
||||
|
||||
Ptr = AllocateZeroPool (NewSize);
|
||||
Ptr = ReallocatePool (
|
||||
SizeOfCount * ((*Count) - CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT),
|
||||
SizeOfCount * (*Count),
|
||||
*Buffer
|
||||
);
|
||||
if (Ptr == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
CopyMem (Ptr, *Buffer, OldSize);
|
||||
|
||||
if (*Buffer != NULL) {
|
||||
FreePool (*Buffer);
|
||||
}
|
||||
|
||||
*Buffer = Ptr;
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,41 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
|
||||
#include "DevicePath.h"
|
||||
|
||||
/**
|
||||
Adjusts the size of a previously allocated buffer.
|
||||
|
||||
@param OldPool A pointer to the buffer whose size is being adjusted.
|
||||
@param OldSize The size of the current buffer.
|
||||
@param NewSize The size of the new buffer.
|
||||
|
||||
@return A pointer to the new buffer or NULL if allocation fails.
|
||||
|
||||
**/
|
||||
VOID *
|
||||
ReallocatePool (
|
||||
IN VOID *OldPool,
|
||||
IN UINTN OldSize,
|
||||
IN UINTN NewSize
|
||||
)
|
||||
{
|
||||
VOID *NewPool;
|
||||
|
||||
NewPool = NULL;
|
||||
if (NewSize != 0) {
|
||||
NewPool = AllocateZeroPool (NewSize);
|
||||
}
|
||||
|
||||
if (OldPool != NULL) {
|
||||
if (NewPool != NULL) {
|
||||
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);
|
||||
}
|
||||
|
||||
FreePool (OldPool);
|
||||
}
|
||||
|
||||
return NewPool;
|
||||
}
|
||||
|
||||
/**
|
||||
Concatenates a formatted unicode string to allocated pool. The caller must
|
||||
free the resulting buffer.
|
||||
|
@ -90,9 +55,9 @@ CatPrint (
|
|||
Size = StrSize (AppendStr) - sizeof (UINT16);
|
||||
Size = Size + StrSize (Str->Str);
|
||||
Str->Str = ReallocatePool (
|
||||
Str->Str,
|
||||
StrSize (Str->Str),
|
||||
Size
|
||||
Size,
|
||||
Str->Str
|
||||
);
|
||||
ASSERT (Str->Str != NULL);
|
||||
}
|
||||
|
@ -1752,7 +1717,7 @@ ConvertDeviceNodeToText (
|
|||
// Shrink pool used for string allocation
|
||||
//
|
||||
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
||||
Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);
|
||||
Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
|
||||
ASSERT (Str.Str != NULL);
|
||||
Str.Str[Str.Len] = 0;
|
||||
return Str.Str;
|
||||
|
@ -1841,7 +1806,7 @@ ConvertDevicePathToText (
|
|||
}
|
||||
|
||||
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
||||
Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);
|
||||
Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
|
||||
ASSERT (Str.Str != NULL);
|
||||
Str.Str[Str.Len] = 0;
|
||||
return Str.Str;
|
||||
|
|
|
@ -270,44 +270,6 @@ OutputConfigBody (
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Adjusts the size of a previously allocated buffer.
|
||||
|
||||
|
||||
@param OldPool A pointer to the buffer whose size is being adjusted.
|
||||
@param OldSize The size of the current buffer.
|
||||
@param NewSize The size of the new buffer.
|
||||
|
||||
@return The new buffer allocated.
|
||||
|
||||
**/
|
||||
VOID *
|
||||
ReallocatePool (
|
||||
IN VOID *OldPool,
|
||||
IN UINTN OldSize,
|
||||
IN UINTN NewSize
|
||||
)
|
||||
{
|
||||
VOID *NewPool;
|
||||
|
||||
NewPool = NULL;
|
||||
if (NewSize != 0) {
|
||||
NewPool = AllocateZeroPool (NewSize);
|
||||
}
|
||||
|
||||
if (OldPool != NULL) {
|
||||
if (NewPool != NULL) {
|
||||
CopyMem (NewPool, OldPool, OldSize < NewSize ? OldSize : NewSize);
|
||||
}
|
||||
|
||||
FreePool (OldPool);
|
||||
}
|
||||
|
||||
return NewPool;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Append a string to a multi-string format.
|
||||
|
||||
|
@ -346,9 +308,9 @@ AppendToMultiString (
|
|||
if (MultiStringSize + AppendStringSize > MAX_STRING_LENGTH ||
|
||||
MultiStringSize > MAX_STRING_LENGTH) {
|
||||
*MultiString = (EFI_STRING) ReallocatePool (
|
||||
(VOID *) (*MultiString),
|
||||
MultiStringSize,
|
||||
MultiStringSize + AppendStringSize
|
||||
MultiStringSize + AppendStringSize,
|
||||
(VOID *) (*MultiString)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue