diff options
| author | Rubens Brandao <git@rubens.io> | 2024-04-22 10:43:00 -0300 |
|---|---|---|
| committer | Kyle Martin <krm504@nyu.edu> | 2024-05-09 12:30:06 -0400 |
| commit | 4e2fbc2b9ad3b45b47b803b8e0ffd8e3dcdf29ec (patch) | |
| tree | 448c3017699dd53f1df26a56e68462ad21a17e30 /rust/src | |
| parent | fe710ffef3222272e1560ed8318dda726f7f925c (diff) | |
only create FlowGraph with Ref
Diffstat (limited to 'rust/src')
| -rw-r--r-- | rust/src/binaryview.rs | 2 | ||||
| -rw-r--r-- | rust/src/flowgraph.rs | 6 |
2 files changed, 3 insertions, 5 deletions
diff --git a/rust/src/binaryview.rs b/rust/src/binaryview.rs index 33fd9881..6e510694 100644 --- a/rust/src/binaryview.rs +++ b/rust/src/binaryview.rs @@ -1064,7 +1064,7 @@ pub trait BinaryViewExt: BinaryViewBase { unsafe { BNApplyDebugInfo(self.as_ref().handle, debug_info.handle) } } - fn show_graph_report<S: BnStrCompatible>(&self, raw_name: S, graph: FlowGraph) { + fn show_graph_report<S: BnStrCompatible>(&self, raw_name: S, graph: &FlowGraph) { let raw_name = raw_name.into_bytes_with_nul(); unsafe { BNShowGraphReport( diff --git a/rust/src/flowgraph.rs b/rust/src/flowgraph.rs index 9d95cc49..c2d4d559 100644 --- a/rust/src/flowgraph.rs +++ b/rust/src/flowgraph.rs @@ -114,8 +114,6 @@ impl<'a> ToOwned for FlowGraphNode<'a> { } } -// TODO : FlowGraph are RefCounted objects, this needs to be changed to only return Refs to FlowGraph - #[derive(PartialEq, Eq, Hash)] pub struct FlowGraph { pub(crate) handle: *mut BNFlowGraph, @@ -126,8 +124,8 @@ impl FlowGraph { Self { handle: raw } } - pub fn new() -> Self { - unsafe { FlowGraph::from_raw(BNCreateFlowGraph()) } + pub fn new() -> Ref<Self> { + unsafe { Ref::new(FlowGraph::from_raw(BNCreateFlowGraph())) } } pub fn append(&self, node: &FlowGraphNode) -> usize { |
