summaryrefslogtreecommitdiff
path: root/Cryptlib/SysCall/BaseMemAllocation.c
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2012-06-18 17:49:57 -0400
committerMatthew Garrett <mjg@redhat.com>2012-06-18 17:49:57 -0400
commit9579a3633657f0adb26e975fca191e0a49474e82 (patch)
tree2d5c048c92fabf912a95db35c54a50287794056e /Cryptlib/SysCall/BaseMemAllocation.c
parent661392464eee92684187e49812c63b9afed5675f (diff)
downloadefi-boot-shim-9579a3633657f0adb26e975fca191e0a49474e82.tar.gz
efi-boot-shim-9579a3633657f0adb26e975fca191e0a49474e82.zip
Add crypto libraries
Diffstat (limited to 'Cryptlib/SysCall/BaseMemAllocation.c')
-rw-r--r--Cryptlib/SysCall/BaseMemAllocation.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/Cryptlib/SysCall/BaseMemAllocation.c b/Cryptlib/SysCall/BaseMemAllocation.c
new file mode 100644
index 00000000..cea84695
--- /dev/null
+++ b/Cryptlib/SysCall/BaseMemAllocation.c
@@ -0,0 +1,42 @@
+/** @file
+ Base Memory Allocation Routines Wrapper for Crypto library over OpenSSL
+ during PEI & DXE phases.
+
+Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#include <OpenSslSupport.h>
+
+//
+// -- Memory-Allocation Routines --
+//
+
+/* Allocates memory blocks */
+void *malloc (size_t size)
+{
+ return AllocatePool ((UINTN)size);
+}
+
+/* Reallocate memory blocks */
+void *realloc (void *ptr, size_t size)
+{
+ //
+ // BUG: hardcode OldSize == size! We have no any knowledge about
+ // memory size of original pointer ptr.
+ //
+ return ReallocatePool (ptr, (UINTN)size, (UINTN)size);
+}
+
+/* De-allocates or frees a memory block */
+void free (void *ptr)
+{
+ FreePool (ptr);
+}