1 /** @file 2 Base Memory Allocation Routines Wrapper for Crypto library over OpenSSL 3 during PEI & DXE phases. 4 5 Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials 7 are licensed and made available under the terms and conditions of the BSD License 8 which accompanies this distribution. The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #include <OpenSslSupport.h> 17 18 // 19 // -- Memory-Allocation Routines -- 20 // 21 22 /* Allocates memory blocks */ 23 void *malloc (size_t size) 24 { 25 return AllocatePool ((UINTN) size); 26 } 27 28 /* Reallocate memory blocks */ 29 void *realloc (void *ptr, size_t size) 30 { 31 // 32 // BUG: hardcode OldSize == size! We have no any knowledge about 33 // memory size of original pointer ptr. 34 // 35 return ReallocatePool ((UINTN) size, (UINTN) size, ptr); 36 } 37 38 /* De-allocates or frees a memory block */ 39 void free (void *ptr) 40 { 41 // 42 // In Standard C, free() handles a null pointer argument transparently. This 43 // is not true of FreePool() below, so protect it. 44 // 45 if (ptr != NULL) { 46 FreePool (ptr); 47 } 48 } 49