summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/configuration.py
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2017-05-05 11:51:21 +0000
committerPavel Labath <labath@google.com>2017-05-05 11:51:21 +0000
commit38c2059aec111174bcdc06c8006d998c513c8b8c (patch)
treef1d168b7952aadc8ed2490bf271f8ad4cf8b28fb /lldb/packages/Python/lldbsuite/test/configuration.py
parent1b74f8c51f7fb44d47336f7431b427326230d47e (diff)
downloadbcm5719-llvm-38c2059aec111174bcdc06c8006d998c513c8b8c.tar.gz
bcm5719-llvm-38c2059aec111174bcdc06c8006d998c513c8b8c.zip
Fix segfault resulting from empty print prompt
Summary: I have found a way to segfault lldb in 7 keystrokes! Steps to reproduce: 1) Launch lldb 2) Type `print` and hit enter. lldb will now prompt you to type a list of expressions, followed by an empty line. 3) Hit enter, indicating the end of your input. 4) Segfault! After some investigation, I've found the issue in Host/common/Editline.cpp. Editline::MoveCursor() relies on m_input_lines not being empty when the `to` argument is CursorPosition::BlockEnd. This scenario, as far as I can tell, occurs in one specific instance: In Editline::EndOrAddLineCommand() when the list of lines being processed contains exactly one string (""). Meeting this condition is fairly simple, I have posted steps to reproduce above. Reviewers: krytarowski, zturner, labath Reviewed By: labath Subscribers: scott.smith, lldb-commits Differential Revision: https://reviews.llvm.org/D32421 Patch by Alex Langford. llvm-svn: 302225
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/configuration.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud