[all-commits] [llvm/llvm-project] ad0f7d: [lldb] Fix Scripted ProcessLaunchInfo Argument nul...

Med Ismail Bennani via All-commits all-commits at lists.llvm.org
Wed Nov 10 08:43:57 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ad0f7d3d4a0c7ceaa5878494b2ad673287ef6a76
      https://github.com/llvm/llvm-project/commit/ad0f7d3d4a0c7ceaa5878494b2ad673287ef6a76
  Author: Med Ismail Bennani <medismail.bennani at gmail.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

  Changed paths:
    M lldb/include/lldb/Core/StructuredDataImpl.h
    M lldb/include/lldb/Utility/StructuredData.h
    M lldb/source/API/SBLaunchInfo.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp

  Log Message:
  -----------
  [lldb] Fix Scripted ProcessLaunchInfo Argument nullptr deref

This patch adds a new `StructuredData::Dictionary` constructor that
takes a `StructuredData::ObjectSP` as an argument. This is used to pass
the opaque_ptr from the `SBStructuredData` used to initialize a
ScriptedProecss, to the `ProcessLaunchInfo` class.

This also updates `SBLaunchInfo::SetScriptedProcessDictionary` to
reflect the formentionned changes which solves the nullptr deref.

Differential Revision: https://reviews.llvm.org/D112107

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>


  Commit: 738621d047f2c14482509b39f8307967a91e7586
      https://github.com/llvm/llvm-project/commit/738621d047f2c14482509b39f8307967a91e7586
  Author: Med Ismail Bennani <medismail.bennani at gmail.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/examples/python/scripted_process/my_scripted_process.py
    M lldb/examples/python/scripted_process/scripted_process.py
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb/bindings] Change ScriptedThread initializer parameters

This patch changes the `ScriptedThread` initializer in couple of ways:
- It replaces the `SBTarget` parameter by a `SBProcess` (pointing to the
  `ScriptedProcess` that "owns" the `ScriptedThread`).
- It adds a reference to the `ScriptedProcessInfo` Dictionary, to pass
  arbitrary user-input to the `ScriptedThread`.

This patch also fixes the SWIG bindings methods that call the
`ScriptedProcess` and `ScriptedThread` initializers by passing all the
arguments to the appropriate `PythonCallable` object.

Differential Revision: https://reviews.llvm.org/D112046

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>


  Commit: 976867b513abbf72e505506686219efaa7f3520f
      https://github.com/llvm/llvm-project/commit/976867b513abbf72e505506686219efaa7f3520f
  Author: Med Ismail Bennani <medismail.bennani at gmail.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

  Changed paths:
    R lldb/examples/python/scripted_process/main.stack-dump
    M lldb/examples/python/scripted_process/my_scripted_process.py
    M lldb/examples/python/scripted_process/scripted_process.py
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    A lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py

  Log Message:
  -----------
  [lldb/test] Update TestScriptedProcess to use skinny corefiles

This patch changes the ScriptedProcess test to use a stack-only skinny
corefile as a backing store.

The corefile is saved as a temporary file at the beginning of the test,
and a second target is created for the ScriptedProcess. To do so, we use
the SBAPI from the ScriptedProcess' python script to interact with the
corefile process.

This patch also makes some small adjustments to the other ScriptedProcess
scripts to resolve some inconsistencies and removes the raw memory dump
that was previously checked in.

Differential Revision: https://reviews.llvm.org/D112047

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>


Compare: https://github.com/llvm/llvm-project/compare/9aea27ac88c4...976867b513ab


More information about the All-commits mailing list