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 | |
| parent | fe710ffef3222272e1560ed8318dda726f7f925c (diff) | |
only create FlowGraph with Ref
| -rw-r--r-- | rust/examples/dwarf/dwarfdump/src/lib.rs | 2 | ||||
| -rw-r--r-- | rust/examples/flowgraph/src/lib.rs | 2 | ||||
| -rw-r--r-- | rust/src/binaryview.rs | 2 | ||||
| -rw-r--r-- | rust/src/flowgraph.rs | 6 |
4 files changed, 5 insertions, 7 deletions
diff --git a/rust/examples/dwarf/dwarfdump/src/lib.rs b/rust/examples/dwarf/dwarfdump/src/lib.rs index 8c6b32b7..c062ac63 100644 --- a/rust/examples/dwarf/dwarfdump/src/lib.rs +++ b/rust/examples/dwarf/dwarfdump/src/lib.rs @@ -281,7 +281,7 @@ fn dump_dwarf(bv: &BinaryView) { } } - view.show_graph_report("DWARF", graph); + view.show_graph_report("DWARF", &graph); } struct DWARFDump; diff --git a/rust/examples/flowgraph/src/lib.rs b/rust/examples/flowgraph/src/lib.rs index 0375705d..2a03341c 100644 --- a/rust/examples/flowgraph/src/lib.rs +++ b/rust/examples/flowgraph/src/lib.rs @@ -36,7 +36,7 @@ fn test_graph(view: &BinaryView) { &EdgeStyle::default(), ); - view.show_graph_report("Rust Graph Title", graph); + view.show_graph_report("Rust Graph Title", &graph); } #[no_mangle] 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 { |
