diff options
| author | Johnny Chen <johnny.chen@apple.com> | 2011-12-20 01:22:03 +0000 |
|---|---|---|
| committer | Johnny Chen <johnny.chen@apple.com> | 2011-12-20 01:22:03 +0000 |
| commit | 3ac503e042bca5f4c6c1c661a8b5d17fef9555fc (patch) | |
| tree | 6c2f0f8c9064e71bd1b62a29eb56c54794f8ca7c | |
| parent | 00723591b859bb2c62a066bb3fafe14d0c4790ba (diff) | |
| download | bcm5719-llvm-3ac503e042bca5f4c6c1c661a8b5d17fef9555fc.tar.gz bcm5719-llvm-3ac503e042bca5f4c6c1c661a8b5d17fef9555fc.zip | |
Work in progress for:
rdar://problem/10577182
Audit lldb API impl for places where we need to perform a NULL check
Add a NULL check for SBTarget.AttachToProcessWithName() so it will not hang.
llvm-svn: 146948
| -rw-r--r-- | lldb/source/API/SBTarget.cpp | 2 | ||||
| -rw-r--r-- | lldb/test/python_api/hello_world/TestHelloWorld.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp index 059f91c4444..967ea6b836f 100644 --- a/lldb/source/API/SBTarget.cpp +++ b/lldb/source/API/SBTarget.cpp @@ -379,7 +379,7 @@ SBTarget::AttachToProcessWithName ) { SBProcess sb_process; - if (m_opaque_sp) + if (name && m_opaque_sp) { Mutex::Locker api_locker (m_opaque_sp->GetAPIMutex()); diff --git a/lldb/test/python_api/hello_world/TestHelloWorld.py b/lldb/test/python_api/hello_world/TestHelloWorld.py index 79e3248ed6d..34299e52e1e 100644 --- a/lldb/test/python_api/hello_world/TestHelloWorld.py +++ b/lldb/test/python_api/hello_world/TestHelloWorld.py @@ -155,6 +155,13 @@ class HelloWorldTestCase(TestBase): error = lldb.SBError() # Pass 'False' since we don't want to wait for new instance of "hello_world" to be launched. name = os.path.basename(self.exe) + + # While we're at it, make sure that passing a None as the process name + # does not hang LLDB. + target.AttachToProcessWithName(listener, None, False, error) + # Also boundary condition test ConnectRemote(), too. + target.ConnectRemote(listener, None, None, error) + process = target.AttachToProcessWithName(listener, name, False, error) self.assertTrue(error.Success() and process, PROCESS_IS_VALID) |

