summaryrefslogtreecommitdiff
path: root/rust/src/medium_level_il
diff options
context:
space:
mode:
authorMark Rowe <mrowe@bdash.net.nz>2025-05-03 22:39:50 -0700
committerMason Reed <35282038+emesare@users.noreply.github.com>2025-05-04 21:20:00 -0400
commit9bd1a1c5d54f46e250274538e8faee23d5520a88 (patch)
tree26965ce9020f5064941ddf4c3b18df68d16633e0 /rust/src/medium_level_il
parentc9253993ee4085880468cf9345519f45adfa77a3 (diff)
[Rust] Avoid leaking a reference within {Medium,High}LevelILFunction::ssa_form
Return a Ref<_> so that the underlying core object will have its reference count decremented when the caller drops the object.
Diffstat (limited to 'rust/src/medium_level_il')
-rw-r--r--rust/src/medium_level_il/function.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/rust/src/medium_level_il/function.rs b/rust/src/medium_level_il/function.rs
index 5cc0b58b..0ac82ff1 100644
--- a/rust/src/medium_level_il/function.rs
+++ b/rust/src/medium_level_il/function.rs
@@ -91,10 +91,10 @@ impl MediumLevelILFunction {
unsafe { BNGetMediumLevelILExprCount(self.handle) }
}
- pub fn ssa_form(&self) -> MediumLevelILFunction {
+ pub fn ssa_form(&self) -> Ref<MediumLevelILFunction> {
let ssa = unsafe { BNGetMediumLevelILSSAForm(self.handle) };
assert!(!ssa.is_null());
- MediumLevelILFunction { handle: ssa }
+ unsafe { MediumLevelILFunction::ref_from_raw(ssa) }
}
pub fn function(&self) -> Ref<Function> {