)]}'
{
  "commit": "abe2c4bdb65e8dd9cb2f01c355baa394bf49a8af",
  "tree": "fbe1a6e825100b50ddb2d25b0cd123d7dc6d04dc",
  "parents": [
    "262312d7ba6e2966acedb4f9c134fd19176b4083"
  ],
  "author": {
    "name": "Eric Auger",
    "email": "eric.auger@redhat.com",
    "time": "Tue Feb 28 10:29:44 2023 +0100"
  },
  "committer": {
    "name": "Juan Quintela",
    "email": "quintela@redhat.com",
    "time": "Thu Mar 02 17:06:27 2023 +0100"
  },
  "message": "test-vmstate: fix bad GTree usage, use-after-free\n\nAccording to g_tree_foreach() documentation:\n\"The tree may not be modified while iterating over it (you can\u0027t\nadd/remove items).\"\n\ncompare_trees()/diff_tree() fail to respect this rule.\nHistorically GLib2 used a slice allocator for the GTree APIs\nwhich did not immediately release the memory back to the system\nallocator. As a result QEMU\u0027s use-after-free bug was not visible.\nWith GLib \u003e 2.75.3 however, GLib2 has switched to using malloc\nand now a SIGSEGV can be observed while running test-vmstate.\n\nGet rid of the node removal within the tree traversal. Also\ncheck the trees have the same number of nodes before the actual\ndiff.\n\nFixes: 9a85e4b8f6 (\"migration: Support gtree migration\")\nResolves: https://gitlab.com/qemu-project/qemu/-/issues/1518\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\nSigned-off-by: Eric Auger \u003ceric.auger@redhat.com\u003e\nReported-by: Richard W.M. Jones \u003crjones@redhat.com\u003e\nTested-by: Richard W.M. Jones \u003crjones@redhat.com\u003e\nReviewed-by: Richard W.M. Jones \u003crjones@redhat.com\u003e\nReviewed-by: Daniel P. Berrangé \u003cberrange@redhat.com\u003e\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\nSigned-off-by: Juan Quintela \u003cquintela@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "79357b29ca1818f63a851178165fa71d3cc7c028",
      "old_mode": 33188,
      "old_path": "tests/unit/test-vmstate.c",
      "new_id": "0b7d5ecd6838da416318210b39f83fbf9657277d",
      "new_mode": 33188,
      "new_path": "tests/unit/test-vmstate.c"
    }
  ]
}
