diff options
| author | Josh F <josh@vector35.com> | 2022-04-11 19:22:18 -0400 |
|---|---|---|
| committer | Josh F <josh@vector35.com> | 2022-04-11 19:22:18 -0400 |
| commit | a2f10504716992c63cb74e016c205d7a3f03d347 (patch) | |
| tree | 97f63eaf8e4af0c4f5833874cc15e333ccab1b0a /scriptingprovider.cpp | |
| parent | e4b11845766e2a35c61315ff746875cca3e2c410 (diff) | |
Prevent crash when ScriptingInstance::CompleteInput returns nullptr
Diffstat (limited to 'scriptingprovider.cpp')
| -rw-r--r-- | scriptingprovider.cpp | 8 |
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); } |
