)]}'
{
  "commit": "afadbc7a89f49b70a09d0d809853777ce3a135bf",
  "tree": "11e1e75439095df39654a954bdf2a87ef9894931",
  "parents": [
    "a5990ab10f68e5ec7498f627d1664b1f842fec4e"
  ],
  "author": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Tue Aug 13 21:11:15 2019 -0700"
  },
  "committer": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Tue Aug 13 21:22:48 2019 -0700"
  },
  "message": "core: abandon sync transfers after libusb_close()\n\nThis commit adds an additional check to synchronous transfer\nprogression to prevent accessing a potentially deleted context. This\naccess can occur if a code calls libusb_close() then libusb_exit()\nfrom one thread while another thread is in a synchronous transfer.\n\nNote that this is likely a user error. The application should wait\nfor all transfers to complete before calling libusb_close(). This\ncommit is being offered as a best-effort attempt to prevent the\ninvalid access and return a useful error to the application.\n\nThere may still be a window where an invalid access is possible.\nThis commit is a work around until a better fix is available.\n\nReferences #610\n\nSigned-off-by: Nathan Hjelm \u003chjelmn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a609f65f44f41d4b289bf8adcaa3271fae801fae",
      "old_mode": 33188,
      "old_path": "libusb/sync.c",
      "new_id": "70942ac6b2433ac79cb8e38e4c3b2937846a1091",
      "new_mode": 33188,
      "new_path": "libusb/sync.c"
    },
    {
      "type": "modify",
      "old_id": "8aa1efc23e740125e2d0bef4e6bf54a413f07634",
      "old_mode": 33188,
      "old_path": "libusb/version_nano.h",
      "new_id": "1ff7ca7a1b098ff9219ba0bc1a9b6735b115292a",
      "new_mode": 33188,
      "new_path": "libusb/version_nano.h"
    }
  ]
}
