It's fine to return a `CString` but the data needs to be manually copied into a malloc'd buffer.