)]}'
{
  "commit": "8d9a7d8914f29d4b0621c09e303af4a84042fd9e",
  "tree": "659c9b6b5174d4cca93e97634d7abb6ce98bcdf0",
  "parents": [
    "69b9f23264b1c9156f9499125df96c69e9927f14"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Aug 21 12:43:58 2025 +0100"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Aug 28 15:51:16 2025 +0100"
  },
  "message": "gdb/python: check return from final PyObject_New in py-disasm.c\n\nIn this commit:\n\n  commit dbd05b9edcf760a7001985f89bc760358a3c19d7\n  Date:   Wed Aug 20 10:45:09 2025 +0100\n\n      gdb/python: check return value of PyObject_New in all cases\n\nI missed a call to PyObject_New in python/py-disasm.c, which this\ncommit addresses.\n\nUnlike the previous commit, the call to PyObject_New in py-disasm.c is\ncontained within the scoped_disasm_info_object class, which makes it\nharder to check for NULL and return.\n\nSo in this commit I\u0027ve rewritten the scoped_disasm_info_object class,\nmoving the call to PyObject_New out into gdbpy_print_insn, which is\nthe only place that scoped_disasm_info_object was being used.\n\nAs scoped_disasm_info_object is no longer responsible for creating the\nunderlying Python object, I figured that I might as well move the\ninitialisation of that object out of scoped_disasm_info_object too.\n\nWith that done, the scoped_disasm_info_object now has just one task,\ninvalidating the existing disasm_info_object at the end of the scope.\n\nSo I renamed scoped_disasm_info_object to\nscoped_invalidate_disasm_info, which reflects its only task.\n\nI made a couple of other small adjustments that were requested during\nreview, these are both in the same code area: updating\ndisasm_info_fill to take an object reference rather than a pointer,\nand removing the local variable insn_disas_obj from gdbpy_print_insn,\nand inline its value at the one place it was used.\n\nThere should be no user visible changes after this commit. Except for\nthe PyObject_New call, which now has proper error checking.  But in\nthe working case, nothing should have changed.\n\nApproved-By: Simon Marchi \u003csimon.marchi@efficios.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17064dc0c300ec15849e919f050cdffb11ed8df8",
      "old_mode": 33188,
      "old_path": "gdb/python/py-disasm.c",
      "new_id": "47ae99cb71ce5d69e1a0eb7fb5a0b0c959bd19af",
      "new_mode": 33188,
      "new_path": "gdb/python/py-disasm.c"
    }
  ]
}
