From 5b475466daad1ac6aab3a95f2fcf6837ad8ad710 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Sat, 22 Jan 2022 00:31:10 -0500 Subject: Fix leak of scripting instances when new windows are created --- binaryninjacore.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'binaryninjacore.h') diff --git a/binaryninjacore.h b/binaryninjacore.h index 89b506b4..b034eaec 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2313,6 +2313,8 @@ extern "C" { void* context; void (*destroyInstance)(void* ctxt); + void (*externalRefTaken)(void* ctxt); + void (*externalRefReleased)(void* ctxt); BNScriptingProviderExecuteResult (*executeScriptInput)(void* ctxt, const char* input); void (*cancelScriptInput)(void* ctxt); void (*setCurrentBinaryView)(void* ctxt, BNBinaryView* view); @@ -2321,6 +2323,7 @@ extern "C" void (*setCurrentAddress)(void* ctxt, uint64_t addr); void (*setCurrentSelection)(void* ctxt, uint64_t begin, uint64_t end); char* (*completeInput)(void* ctxt, const char* text, uint64_t state); + void (*stop)(void* ctxt); }; struct BNScriptingProviderCallbacks @@ -5285,6 +5288,7 @@ __attribute__ ((format (printf, 1, 2))) BINARYNINJACOREAPI void BNSetScriptingInstanceCurrentSelection(BNScriptingInstance* instance, uint64_t begin, uint64_t end); BINARYNINJACOREAPI char* BNScriptingInstanceCompleteInput(BNScriptingInstance* instance, const char* text, uint64_t state); + BINARYNINJACOREAPI void BNStopScriptingInstance(BNScriptingInstance* instance); // Main thread actions BINARYNINJACOREAPI void BNRegisterMainThread(BNMainThreadCallbacks* callbacks); -- cgit v1.3.1