### 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.