summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/Library
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-02-24 21:00:04 +0100
committerLaszlo Ersek <lersek@redhat.com>2016-02-25 11:04:31 +0100
commite89d672110aaf1c5a85404375ca6767b099d3b50 (patch)
treea2504a723d699328b15740e092b46f2e5a4944a2 /CryptoPkg/Library
parent1246dde58e8a84644ad46679b8767f8643818e31 (diff)
downloadedk2-e89d672110aaf1c5a85404375ca6767b099d3b50.tar.gz
edk2-e89d672110aaf1c5a85404375ca6767b099d3b50.tar.bz2
edk2-e89d672110aaf1c5a85404375ca6767b099d3b50.zip
CryptoPkg: RuntimeCryptLib: support realloc(NULL, size)
The ISO C standard says about realloc(), If ptr is a null pointer, the realloc function behaves like the malloc function for the specified size. The realloc() implementation doesn't conform to this currently, so add a check and call malloc() if appropriate. Cc: David Woodhouse <dwmw2@infradead.org> Cc: Qin Long <qin.long@intel.com> Cc: Ting Ye <ting.ye@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Qin Long <qin.long@intel.com>
Diffstat (limited to 'CryptoPkg/Library')
-rw-r--r--CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c b/CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c
index 45ef9ff5f2..413e47e923 100644
--- a/CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c
+++ b/CryptoPkg/Library/BaseCryptLib/SysCall/RuntimeMemAllocation.c
@@ -396,6 +396,10 @@ void *realloc (void *ptr, size_t size)
UINTN StartPageIndex;
UINTN PageCount;
+ if (ptr == NULL) {
+ return malloc (size);
+ }
+
//
// Get Original Size of ptr
//