# ffi_free Release memory obtained from `alloc`. ## Synopsis ```perl Peta::FFI::free($ptr); ``` ## What you get back Always `1`. ## Edge cases - **Zero or undef pointer** - silently ignored, like `free(NULL)`. - **Double free / foreign pointers** - undefined behaviour; only pass addresses obtained from `alloc`, exactly once. Memory a C library allocated is released by that library’s own function (`PQclear`, `mysql_free_result`, …), never by `free`.