)]}'
{
  "commit": "76db0ea3bf40cfe5ae1cae3cea05ac9cacbf7c26",
  "tree": "870689bbdd3e02459226132f99c2a4b8d05575a0",
  "parents": [
    "f5ec96c92ed851fb4d907aea3a1cbf480d351cb7"
  ],
  "author": {
    "name": "Zhao Liu",
    "email": "zhao1.liu@intel.com",
    "time": "Mon Mar 11 11:38:05 2024 +0800"
  },
  "committer": {
    "name": "Thomas Huth",
    "email": "thuth@redhat.com",
    "time": "Tue Mar 12 11:45:34 2024 +0100"
  },
  "message": "block/vmdk: Fix missing ERRP_GUARD() for error_prepend()\n\nAs the comment in qapi/error, passing @errp to error_prepend() requires\nERRP_GUARD():\n\n* \u003d Why, when and how to use ERRP_GUARD() \u003d\n*\n* Without ERRP_GUARD(), use of the @errp parameter is restricted:\n...\n* - It should not be passed to error_prepend(), error_vprepend() or\n*   error_append_hint(), because that doesn\u0027t work with \u0026error_fatal.\n* ERRP_GUARD() lifts these restrictions.\n*\n* To use ERRP_GUARD(), add it right at the beginning of the function.\n* @errp can then be used without worrying about the argument being\n* NULL or \u0026error_fatal.\n\nERRP_GUARD() could avoid the case when @errp is \u0026error_fatal, the user\ncan\u0027t see this additional information, because exit() happens in\nerror_setg earlier than information is added [1].\n\nThe vmdk_parse_extents() passes @errp to error_prepend(), and its @errp\nis from vmdk_open().\n\nThough, vmdk_open(), as a BlockDriver.bdrv_open(), gets the @errp\nparameter which is pointer of its caller\u0027s local_err, to follow the\nrequirement of @errp, add missing ERRP_GUARD() at the beginning of this\nfunction.\n\n[1]: Issue description in the commit message of commit ae7c80a7bd73\n     (\"error: New macro ERRP_GUARD()\").\n\nCc: Fam Zheng \u003cfam@euphon.net\u003e\nCc: Kevin Wolf \u003ckwolf@redhat.com\u003e\nCc: Hanna Reitz \u003chreitz@redhat.com\u003e\nCc: qemu-block@nongnu.org\nSigned-off-by: Zhao Liu \u003czhao1.liu@intel.com\u003e\nMessage-ID: \u003c20240311033822.3142585-13-zhao1.liu@linux.intel.com\u003e\nReviewed-by: Thomas Huth \u003cthuth@redhat.com\u003e\nSigned-off-by: Thomas Huth \u003cthuth@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bf78e1238351d86152b5d7f205e12747ef51d357",
      "old_mode": 33188,
      "old_path": "block/vmdk.c",
      "new_id": "3b82979fdf42d773cbe61029da7d5eaedb9ca1d8",
      "new_mode": 33188,
      "new_path": "block/vmdk.c"
    }
  ]
}
