diff --git a/ffi/src/helpers.rs b/ffi/src/helpers.rs index c5172fe..0cb5c34 100644 --- a/ffi/src/helpers.rs +++ b/ffi/src/helpers.rs @@ -16,8 +16,9 @@ use crate::state::{plugin_crc, plugin_version}; pub(crate) fn error(code: c_int, message: &str) -> c_int { ERROR_MESSAGE.with(|f| { - *f.borrow_mut() = - CString::new(message.as_bytes()).unwrap_or(c"Failed to retrieve error message".into()); + *f.borrow_mut() = CString::new(message.as_bytes()) + .or_else(|_e| CString::new(message.replace('\0', "\\0").as_bytes())) + .unwrap_or_else(|_e| c"Failed to retrieve error message".into()); }); code }