From b45ace07006fe27bd2a18341bc871a6f37f47ec8 Mon Sep 17 00:00:00 2001 From: Oliver Hamlet Date: Mon, 28 Apr 2025 17:48:20 +0100 Subject: [PATCH] Improve FFI error message handling --- ffi/src/helpers.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 }