Align secmem_realloc behavior with realloc's.
authorNeal H. Walfield <neal@gnu.org>
Thu, 7 May 2015 09:31:01 +0000 (11:31 +0200)
committerNeal H. Walfield <neal@gnu.org>
Thu, 7 May 2015 09:31:48 +0000 (11:31 +0200)
* secmem/secmem.c (secmem_realloc): If passed a NULL pointer, then
call secmem_malloc instead of crashing.

secmem/secmem.c

index fed7e97..c5da0b5 100644 (file)
@@ -1,5 +1,6 @@
 /* secmem.c  - memory allocation from a secure heap
  *     Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc.
+ *      Copyright (C) 2015 g10 Code GmbH
  *
  * This file is part of GnuPG.
  *
@@ -373,6 +374,9 @@ secmem_realloc( void *p, size_t newsize )
     size_t size;
     void *a;
 
+    if (! p)
+      return secmem_malloc(newsize);
+
     mb = (MEMBLOCK*)((char*)p - ((size_t) &((MEMBLOCK*)0)->u.aligned.c));
     size = mb->size;
     if( newsize < size )