aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/functionalities/scripted_process
diff options
context:
space:
mode:
authorMed Ismail Bennani <medismail.bennani@gmail.com>2023-03-03 12:35:42 -0800
committerMed Ismail Bennani <medismail.bennani@gmail.com>2023-03-03 19:33:02 -0800
commitebdbc26a3e79e64e9b2786a8b413618a5b5c115d (patch)
tree3dbca23cec53800e961954086be051cac3c1736d /lldb/test/API/functionalities/scripted_process
parentefc52361ddb7282825f1f813553f322bd119b830 (diff)
downloadllvm-ebdbc26a3e79e64e9b2786a8b413618a5b5c115d.tar.gz
llvm-ebdbc26a3e79e64e9b2786a8b413618a5b5c115d.tar.bz2
llvm-ebdbc26a3e79e64e9b2786a8b413618a5b5c115d.zip
[lldb/swig] Fix ref counting issue in SBProcess::GetScriptedImplementation
When using SBProcess::GetScriptedImplementation in python, if the process has a valid implementation, we returned a reference of the object without incrementing the reference counting. That causes the interpreter to crash after accessing the reference several times. This patch address this by incrementing the reference count when passing the valid object reference. Differential Revision: https://reviews.llvm.org/D145260 Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
Diffstat (limited to 'lldb/test/API/functionalities/scripted_process')
-rw-r--r--lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py b/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
index 5a198cc95704..b5a14a9cd63d 100644
--- a/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
+++ b/lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
@@ -80,6 +80,15 @@ class ScriptedProcesTestCase(TestBase):
self.assertEqual(process.GetProcessID(), 666)
self.assertEqual(process.GetNumThreads(), 0)
+ impl = process.GetScriptedImplementation()
+ self.assertTrue(impl)
+ impl = process.GetScriptedImplementation()
+ self.assertTrue(impl)
+ impl = process.GetScriptedImplementation()
+ self.assertTrue(impl)
+ impl = process.GetScriptedImplementation()
+ self.assertTrue(impl)
+
addr = 0x500000000
buff = process.ReadMemory(addr, 4, error)
self.assertEqual(buff, None)