diff options
| author | Rusty Wagner <rusty@vector35.com> | 2015-03-03 00:19:53 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2015-03-03 00:19:53 -0500 |
| commit | e1acceecfd1a9b30a1fa19599dce049b50dfaa36 (patch) | |
| tree | 98f8320c53f2217b0ee31284400de838cf72afee | |
| parent | e931fbb18ed367745411592e3c408c1a04155a57 (diff) | |
Fix crashes on file close when analysis is still running
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryview.cpp | 6 | ||||
| -rw-r--r-- | functiongraph.cpp | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index ce400e38..d94e7ca7 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -365,6 +365,7 @@ namespace BinaryNinja void AddFunctionForAnalysis(Architecture* arch, uint64_t addr); void AddEntryPointForAnalysis(Architecture* arch, uint64_t start); void UpdateAnalysis(); + void AbortAnalysis(); std::vector<Ref<Function>> GetAnalysisFunctionList(); Ref<Function> GetAnalysisFunction(Architecture* arch, uint64_t addr); diff --git a/binaryview.cpp b/binaryview.cpp index 6a218730..d274acb7 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -330,6 +330,12 @@ void BinaryView::UpdateAnalysis() } +void BinaryView::AbortAnalysis() +{ + BNAbortAnalysis(m_view); +} + + vector<Ref<Function>> BinaryView::GetAnalysisFunctionList() { size_t count; diff --git a/functiongraph.cpp b/functiongraph.cpp index 405046ea..4e48e3cf 100644 --- a/functiongraph.cpp +++ b/functiongraph.cpp @@ -11,6 +11,10 @@ FunctionGraph::FunctionGraph(BNFunctionGraph* graph): m_graph(graph) FunctionGraph::~FunctionGraph() { + // This object is going away, so ensure that any pending completion routines are + // no longer called + ClearOnComplete(); + BNFreeFunctionGraph(m_graph); } |
