### 14.1 Memory allocation

Function: void * gcry_malloc (size_t n)

  This function tries to allocate n bytes of memory. On success it returns a pointer to the memory area, in an out-of-core condition, it returns NULL.

Function: void * gcry_malloc_secure (size_t n)

  Like `gcry_malloc`, but uses secure memory.

Function: void * gcry_calloc (size_t n, size_t m)

  This function allocates a cleared block of memory (i.e. initialized with zero bytes) long enough to contain a vector of n elements, each of size m bytes. On success it returns a pointer to the memory block; in an out-of-core condition, it returns NULL.

Function: void * gcry_calloc_secure (size_t n, size_t m)

  Like `gcry_calloc`, but uses secure memory.

Function: void * gcry_realloc (void *p, size_t n)

  This function tries to resize the memory area pointed to by p to n bytes. On success it returns a pointer to the new memory area, in an out-of-core condition, it returns NULL. Depending on whether the memory pointed to by p is secure memory or not, gcry_realloc tries to use secure memory as well.

Function: void gcry_free (void *p)

  Release the memory area pointed to by p.