I think `CString::new` must be `unsafe`, it gives mutable access to arbitrary address and will happily free(..) it too.