= nng_free(3)
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This document is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
// file was obtained (LICENSE.txt).  A copy of the license may also be
// found online at https://opensource.org/licenses/MIT.
//

== NAME

nng_free - free memory

== SYNOPSIS

[source, 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 <<nng_alloc.3#,`nng_alloc()`>> or
<<nng_recv.3#,`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.

== RETURN VALUES

None.

== ERRORS

None.

== SEE ALSO

<<nng_alloc.3#,nng_alloc(3)>>,
<<nng_recv.3#,nng_recv(3)>>,
<<nng.7#,nng(7)>>
