summaryrefslogtreecommitdiff
path: root/scriptingprovider.cpp
diff options
context:
space:
mode:
authorJosh F <josh@vector35.com>2022-04-11 19:22:18 -0400
committerJosh F <josh@vector35.com>2022-04-11 19:22:18 -0400
commita2f10504716992c63cb74e016c205d7a3f03d347 (patch)
tree97f63eaf8e4af0c4f5833874cc15e333ccab1b0a /scriptingprovider.cpp
parente4b11845766e2a35c61315ff746875cca3e2c410 (diff)
Prevent crash when ScriptingInstance::CompleteInput returns nullptr
Diffstat (limited to 'scriptingprovider.cpp')
-rw-r--r--scriptingprovider.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/scriptingprovider.cpp b/scriptingprovider.cpp
index 9e85e91d..d2a3fb9f 100644
--- a/scriptingprovider.cpp
+++ b/scriptingprovider.cpp
@@ -129,7 +129,13 @@ void ScriptingInstance::SetCurrentSelectionCallback(void* ctxt, uint64_t begin,
char* ScriptingInstance::CompleteInputCallback(void* ctxt, const char* text, uint64_t state)
{
ScriptingInstance* instance = (ScriptingInstance*)ctxt;
- return BNAllocString(instance->CompleteInput(text, state).c_str());
+ const char* completed = instance->CompleteInput(text, state).c_str();
+ if (completed == nullptr)
+ {
+ LogWarn("ScriptingInstance::CompleteInput returned nullptr; replacing with empty string.");
+ completed = "";
+ }
+ return BNAllocString(completed);
}