Convert vectors used for memory allocation into boxed slices when passing data buffers to libolm
As a result of this we can simply pass ownership of the data buffer back to Rust with Box::from_raw()
.
This fixes a major memory problem that would previously result in a SIGSEGV.