diff --git a/apps/api/sharedLibs/html-transformer/src/lib.rs b/apps/api/sharedLibs/html-transformer/src/lib.rs index fe1ad187..951a42bf 100644 --- a/apps/api/sharedLibs/html-transformer/src/lib.rs +++ b/apps/api/sharedLibs/html-transformer/src/lib.rs @@ -317,7 +317,12 @@ fn _transform_html_inner(opts: TranformHTMLOptions) -> Result { #[no_mangle] pub extern "C" fn transform_html(opts: *const libc::c_char) -> *mut i8 { - let opts: TranformHTMLOptions = serde_json::de::from_str(&unsafe { CStr::from_ptr(opts) }.to_str().unwrap()).unwrap(); + let opts: TranformHTMLOptions = match unsafe { CStr::from_ptr(opts) }.to_str().map_err(|_| ()).and_then(|x| serde_json::de::from_str(&x).map_err(|_| ())) { + Ok(x) => x, + Err(_) => { + return CString::new("RUSTFC:ERROR").unwrap().into_raw(); + } + }; let out = match _transform_html_inner(opts) { Ok(x) => x,