]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Application/Shell/FileHandleWrappers.c
ShellPkg: Increase reallocation size for temp memory files
[mirror_edk2.git] / ShellPkg / Application / Shell / FileHandleWrappers.c
index a9117bee92ae61e12d0b22d844eb287f71d10e52..1a0c9992abefea128c6e101f97bed547ecfce46b 100644 (file)
@@ -18,6 +18,8 @@
 #include "Shell.h"\r
 #include "FileHandleInternal.h"\r
 \r
+#define MEM_WRITE_REALLOC_OVERHEAD 1024\r
+\r
 /**\r
   File style interface for console (Open).  \r
   \r
@@ -1398,8 +1400,8 @@ FileInterfaceMemWrite(
     // Unicode\r
     //\r
     if ((UINTN)(MemFile->Position + (*BufferSize)) > (UINTN)(MemFile->BufferSize)) {\r
-      MemFile->Buffer = ReallocatePool((UINTN)(MemFile->BufferSize), (UINTN)(MemFile->BufferSize) + (*BufferSize) + 10, MemFile->Buffer);\r
-      MemFile->BufferSize += (*BufferSize) + 10;\r
+      MemFile->Buffer = ReallocatePool((UINTN)(MemFile->BufferSize), (UINTN)(MemFile->BufferSize) + (*BufferSize) + MEM_WRITE_REALLOC_OVERHEAD, MemFile->Buffer);\r
+      MemFile->BufferSize += (*BufferSize) + MEM_WRITE_REALLOC_OVERHEAD;\r
     }\r
     CopyMem(((UINT8*)MemFile->Buffer) + MemFile->Position, Buffer, *BufferSize);\r
     MemFile->Position += (*BufferSize);\r
@@ -1415,8 +1417,8 @@ FileInterfaceMemWrite(
     }\r
     AsciiSPrint(AsciiBuffer, *BufferSize, "%S", Buffer);\r
     if ((UINTN)(MemFile->Position + AsciiStrSize(AsciiBuffer)) > (UINTN)(MemFile->BufferSize)) {\r
-      MemFile->Buffer = ReallocatePool((UINTN)(MemFile->BufferSize), (UINTN)(MemFile->BufferSize) + AsciiStrSize(AsciiBuffer) + 10, MemFile->Buffer);\r
-      MemFile->BufferSize += AsciiStrSize(AsciiBuffer) + 10;\r
+      MemFile->Buffer = ReallocatePool((UINTN)(MemFile->BufferSize), (UINTN)(MemFile->BufferSize) + AsciiStrSize(AsciiBuffer) + MEM_WRITE_REALLOC_OVERHEAD, MemFile->Buffer);\r
+      MemFile->BufferSize += AsciiStrSize(AsciiBuffer) + MEM_WRITE_REALLOC_OVERHEAD;\r
     }\r
     CopyMem(((UINT8*)MemFile->Buffer) + MemFile->Position, AsciiBuffer, AsciiStrSize(AsciiBuffer));\r
     MemFile->Position += (*BufferSize / sizeof(CHAR16));\r