summaryrefslogtreecommitdiff
path: root/binaryninjacore.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2022-01-22 00:31:10 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2022-01-22 01:31:11 -0500
commit5b475466daad1ac6aab3a95f2fcf6837ad8ad710 (patch)
treee586ee0838fba3e533a983846fa40e2176e4a310 /binaryninjacore.h
parentd56d5c4f550421547f7bf563c1d87a19b890723d (diff)
Fix leak of scripting instances when new windows are created
Diffstat (limited to 'binaryninjacore.h')
-rw-r--r--binaryninjacore.h4
1 files changed, 4 insertions, 0 deletions
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);