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
|
IN OUT VOID **Buffer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UINTN NewSize;
|
|
||||||
UINTN OldSize;
|
|
||||||
VOID *Ptr;
|
VOID *Ptr;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1758,23 +1756,16 @@ ConSplitterGrowBuffer (
|
||||||
// copy the old buffer's content to the new-size buffer,
|
// copy the old buffer's content to the new-size buffer,
|
||||||
// then free the old buffer.
|
// then free the old buffer.
|
||||||
//
|
//
|
||||||
OldSize = *Count * SizeOfCount;
|
|
||||||
*Count += CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT;
|
*Count += CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT;
|
||||||
NewSize = *Count * SizeOfCount;
|
Ptr = ReallocatePool (
|
||||||
|
SizeOfCount * ((*Count) - CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT),
|
||||||
Ptr = AllocateZeroPool (NewSize);
|
SizeOfCount * (*Count),
|
||||||
|
*Buffer
|
||||||
|
);
|
||||||
if (Ptr == NULL) {
|
if (Ptr == NULL) {
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
}
|
}
|
||||||
|
|
||||||
CopyMem (Ptr, *Buffer, OldSize);
|
|
||||||
|
|
||||||
if (*Buffer != NULL) {
|
|
||||||
FreePool (*Buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
*Buffer = Ptr;
|
*Buffer = Ptr;
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,41 +14,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
#include "DevicePath.h"
|
#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
|
Concatenates a formatted unicode string to allocated pool. The caller must
|
||||||
free the resulting buffer.
|
free the resulting buffer.
|
||||||
|
@ -90,9 +55,9 @@ CatPrint (
|
||||||
Size = StrSize (AppendStr) - sizeof (UINT16);
|
Size = StrSize (AppendStr) - sizeof (UINT16);
|
||||||
Size = Size + StrSize (Str->Str);
|
Size = Size + StrSize (Str->Str);
|
||||||
Str->Str = ReallocatePool (
|
Str->Str = ReallocatePool (
|
||||||
Str->Str,
|
|
||||||
StrSize (Str->Str),
|
StrSize (Str->Str),
|
||||||
Size
|
Size,
|
||||||
|
Str->Str
|
||||||
);
|
);
|
||||||
ASSERT (Str->Str != NULL);
|
ASSERT (Str->Str != NULL);
|
||||||
}
|
}
|
||||||
|
@ -1752,7 +1717,7 @@ ConvertDeviceNodeToText (
|
||||||
// Shrink pool used for string allocation
|
// Shrink pool used for string allocation
|
||||||
//
|
//
|
||||||
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
||||||
Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);
|
Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
|
||||||
ASSERT (Str.Str != NULL);
|
ASSERT (Str.Str != NULL);
|
||||||
Str.Str[Str.Len] = 0;
|
Str.Str[Str.Len] = 0;
|
||||||
return Str.Str;
|
return Str.Str;
|
||||||
|
@ -1841,7 +1806,7 @@ ConvertDevicePathToText (
|
||||||
}
|
}
|
||||||
|
|
||||||
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
NewSize = (Str.Len + 1) * sizeof (CHAR16);
|
||||||
Str.Str = ReallocatePool (Str.Str, NewSize, NewSize);
|
Str.Str = ReallocatePool (NewSize, NewSize, Str.Str);
|
||||||
ASSERT (Str.Str != NULL);
|
ASSERT (Str.Str != NULL);
|
||||||
Str.Str[Str.Len] = 0;
|
Str.Str[Str.Len] = 0;
|
||||||
return Str.Str;
|
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.
|
Append a string to a multi-string format.
|
||||||
|
|
||||||
|
@ -346,9 +308,9 @@ AppendToMultiString (
|
||||||
if (MultiStringSize + AppendStringSize > MAX_STRING_LENGTH ||
|
if (MultiStringSize + AppendStringSize > MAX_STRING_LENGTH ||
|
||||||
MultiStringSize > MAX_STRING_LENGTH) {
|
MultiStringSize > MAX_STRING_LENGTH) {
|
||||||
*MultiString = (EFI_STRING) ReallocatePool (
|
*MultiString = (EFI_STRING) ReallocatePool (
|
||||||
(VOID *) (*MultiString),
|
|
||||||
MultiStringSize,
|
MultiStringSize,
|
||||||
MultiStringSize + AppendStringSize
|
MultiStringSize + AppendStringSize,
|
||||||
|
(VOID *) (*MultiString)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue