```{index} single: ffi_free; Peta::FFI function ``` ```{index} single: Peta::FFI::ffi_free; Perl function ``` # 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`.