diff options
| author | Kevin Frei <kevinfrei@users.noreply.github.com> | 2023-12-14 11:10:51 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-14 11:10:51 -0800 |
| commit | 0544c781728a665806b069cb8202acd4f6981a0a (patch) | |
| tree | efff8e3d7650c560418a19b66c05dd1b7b63c2ba /lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py | |
| parent | fed564432cef76f8b303c19ab1dfc0a14878fbc3 (diff) | |
Fix a crash from character type confusion interaction with libedit (#75388)
If you type `settings show <tab>` LLDB might crash, depending on the
version of libedit you're compiled with, and whether you're compiled
with `-DLLDB_EDITLINE_USE_WCHAR=0` (and depending on how the optimizer
lays out the stack...)
The issue has to do with trying to figure out whether the libedit
`getchar` callback is supposed to read a wide or 8 bit character. In
order to maintain backward compatibility, there's really no 'clean' way
to do it. We just have to make sure that we're invoking el_[w]getc with
a buffer that is as wide as the getchar callback (registered by the
`SetGetCharacterFunction` function further down in `Editline.cpp`.
So, it's 'fixed' with a comment, and a wider version of the 'reply'
variable.
Co-authored-by: Kevin Frei <freik@meta.com>
Diffstat (limited to 'lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py')
0 files changed, 0 insertions, 0 deletions
