)]}'
{
  "commit": "6c2f9a15dfc8c18ba94defb0f819109902a817cb",
  "tree": "527804812340b02a82461013289ea0c86b78f15a",
  "parents": [
    "f133f2db1eedd409d3c1b0892f65b99f83c74754"
  ],
  "author": {
    "name": "Markus Armbruster",
    "email": "armbru@redhat.com",
    "time": "Wed Sep 16 13:06:23 2015 +0200"
  },
  "committer": {
    "name": "Markus Armbruster",
    "email": "armbru@redhat.com",
    "time": "Mon Sep 21 09:56:49 2015 +0200"
  },
  "message": "qapi: Make output visitor return qnull() instead of NULL\n\nBefore commit 1d10b44, it crashed.  Since then, it returns NULL, with\na FIXME comment.  The FIXME is valid: code that assumes QObject *\ncan\u0027t be null exists.  I\u0027m not aware of a way to feed this problematic\nreturn value to code that actually chokes on null in the current code,\nbut the next few commits will create one, failing \"make check\".\n\nCommit 481b002 solved a very similar problem by introducing a special\nnull QObject.  Using this special null QObject is clearly the right\nway to resolve this FIXME, so do that, and update the test\naccordingly.\n\nHowever, the patch isn\u0027t quite right: it messes up the reference\ncounting.  After about SIZE_MAX visits, the reference counter\noverflows, failing the assertion in qnull_destroy_obj().  Because\nthat\u0027s many orders of magnitude more visits of nulls than we expect,\nwe take this patch despite its flaws, to get the QMP introspection\nstuff in without further delay.  We\u0027ll want to fix it for real before\nthe release.\n\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\nReviewed-by: Daniel P. Berrange \u003cberrange@redhat.com\u003e\nMessage-Id: \u003c1442401589-24189-21-git-send-email-armbru@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "efc19d5841903dd134f1e33b2827e7f10628d9f6",
      "old_mode": 33188,
      "old_path": "qapi/qmp-output-visitor.c",
      "new_id": "8dce08749d77674ce5470c4df1cc2a77897e04bc",
      "new_mode": 33188,
      "new_path": "qapi/qmp-output-visitor.c"
    },
    {
      "type": "modify",
      "old_id": "338ada0253a21238c759ed6c21cc5af584aaf6cc",
      "old_mode": 33188,
      "old_path": "tests/test-qmp-output-visitor.c",
      "new_id": "a48ae724528cd454f1312db8aba4cac1dc3a2f1a",
      "new_mode": 33188,
      "new_path": "tests/test-qmp-output-visitor.c"
    }
  ]
}
