diff options
Diffstat (limited to 'IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c')
-rw-r--r-- | IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c b/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c index f1729825c7..439e15beab 100644 --- a/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c +++ b/IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaDecompress.c @@ -29,7 +29,43 @@ #include "Sdk/C/7zVersion.h"
#include "Sdk/C/LzmaDec.h"
-extern ISzAlloc g_Alloc;
+/**
+ Allocation routine used by LZMA decompression.
+
+ @param p Pointer to the ISzAlloc instance
+ @param size The size in bytes to be allocated
+
+ @return The allocated pointer address, or NULL on failure
+**/
+STATIC
+VOID *
+SzAlloc (
+ void *p,
+ size_t size
+ )
+{
+ return AllocatePool (size);
+}
+
+/**
+ Free routine used by LZMA decompression.
+
+ @param p Pointer to the ISzAlloc instance
+ @param address The address to be freed
+**/
+STATIC
+VOID
+SzFree (
+ void *p,
+ void *address
+ )
+{
+ if (address != NULL) {
+ FreePool (address);
+ }
+}
+
+STATIC ISzAlloc g_Alloc = { SzAlloc, SzFree };
#define LZMA_HEADER_SIZE (LZMA_PROPS_SIZE + 8)
|