)]}' { "commit": "d4452bd5554b2e6cc7017ad9cdba54a848cf5e93", "tree": "7439a111799e5cea50310f4c7d208087464a07ec", "parents": [ "683e3cf21ed37d4492c20cea8de810c4d95ae8b6" ], "author": { "name": "Matthias Bolte", "email": "matthias@tinkerforge.com", "time": "Wed Sep 22 13:40:23 2021 +0200" }, "committer": { "name": "Nathan Hjelm", "email": "hjelmn@me.com", "time": "Tue Nov 23 23:02:43 2021 -0700" }, "message": "core: Unlock and clear default ctx in all error paths in libusb_init\n\nCommit 32a22069428cda9d63aa666e92fb8882a83d4515 reordered and\nrefactored libusb_init. This resulted in moving code outside the\ndefault ctx lock that was unrelated to it. But this resulted in\nbroken error path cleanup logic that leaves the default ctx as\nlocked, half initialized and freed in case a libusb_set_option or\nthe usbi_io_init call fails.\n\nUndo part of the previous reordering to unlock and clear the default\nctx in all error paths in libusb_init.\n\nCloses #995\n\nSigned-off-by: Nathan Hjelm \u003chjelmn@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "7976e4ccbe42ee99c5605efa38f88d5fecfa1e1a", "old_mode": 33188, "old_path": "libusb/core.c", "new_id": "8ebf08baf975a89af80b5aba1dbd6a875df8b89c", "new_mode": 33188, "new_path": "libusb/core.c" }, { "type": "modify", "old_id": "ee61cdd41d2d797750a2dcdb5a73c383e76611aa", "old_mode": 33188, "old_path": "libusb/version_nano.h", "new_id": "d5d1fd272a6070fb5ebf3e7ec0053160c486b565", "new_mode": 33188, "new_path": "libusb/version_nano.h" } ] }