summaryrefslogtreecommitdiff
path: root/rust/src/custom_binary_view.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-03-11 13:44:13 -0400
committerMason Reed <mason@vector35.com>2025-03-19 11:47:05 -0400
commit0cc29835da6cd6c5a8131c07e175719df72b247a (patch)
treea0acca7b33038535435ec8fc25808e53d1a516c3 /rust/src/custom_binary_view.rs
parente0a4bb0f8a44bd54bbf66b78c0888bc7c65017b9 (diff)
Fix possible double free with platform recognizer in Rust API
Diffstat (limited to 'rust/src/custom_binary_view.rs')
-rw-r--r--rust/src/custom_binary_view.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/rust/src/custom_binary_view.rs b/rust/src/custom_binary_view.rs
index eb95acb2..4d53bd98 100644
--- a/rust/src/custom_binary_view.rs
+++ b/rust/src/custom_binary_view.rs
@@ -280,7 +280,7 @@ pub trait BinaryViewTypeExt: BinaryViewTypeBase {
let bv = unsafe { BinaryView::from_raw(bv).to_owned() };
let metadata = unsafe { Metadata::from_raw(metadata).to_owned() };
match (context.recognizer)(&bv, &metadata) {
- Some(plat) => plat.handle,
+ Some(plat) => unsafe { Ref::into_raw(plat).handle },
None => std::ptr::null_mut(),
}
}