## nng_free

Free memory.

### Synopsis

```c
#include <nng/nng.h>

void nng_free(void *ptr, size_t size);
```

### Description

The `nng_free` function deallocates a memory region of size _size_, that was previously allocated by xref:nng_alloc.adoc[`nng_alloc`] or xref:nng_recv.adoc[`nng_recv`] with the ((`NNG_FLAG_ALLOC`)) flag.

IMPORTANT: It is very important that _size_ match the allocation size used to allocate the memory.

IMPORTANT: Do not attempt to use this function to deallocate memory obtained by a call to the system `malloc` or `calloc` functions, or the {cpp} `new` operator.
Doing so may result in unpredictable behavior, including corruption of application memory.

### See Also

xref:nng_alloc.adoc[nng_alloc],
xref:nng_recv.adoc[nng_recv]
