{"action":"closed","number":162,"pull_request":{"url":"https://api.github.com/repos/python/cpython/pulls/162","id":106881524,"html_url":"https://github.com/python/cpython/pull/162","diff_url":"https://github.com/python/cpython/pull/162.diff","patch_url":"https://github.com/python/cpython/pull/162.patch","issue_url":"https://api.github.com/repos/python/cpython/issues/162","number":162,"state":"closed","locked":false,"title":"bpo-29110: Fix file object leak in `aifc.open`.","user":{"login":"Uberi","id":437196,"avatar_url":"https://avatars.githubusercontent.com/u/437196?v=3","gravatar_id":"","url":"https://api.github.com/users/Uberi","html_url":"https://github.com/Uberi","followers_url":"https://api.github.com/users/Uberi/followers","following_url":"https://api.github.com/users/Uberi/following{/other_user}","gists_url":"https://api.github.com/users/Uberi/gists{/gist_id}","starred_url":"https://api.github.com/users/Uberi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Uberi/subscriptions","organizations_url":"https://api.github.com/users/Uberi/orgs","repos_url":"https://api.github.com/users/Uberi/repos","events_url":"https://api.github.com/users/Uberi/events{/privacy}","received_events_url":"https://api.github.com/users/Uberi/received_events","type":"User","site_admin":false},"body":"When given an invalid AIFF file, `aifc.open` doesn't clean up after itself. This patch makes it close the file object if it was opened by the library.\r\n\r\nAlso, it adds one unit test, `test.aifc_test.AifcMiscTest.test_close_opened_files_on_error`. The patch can be verified with `./python -m test -j0 test_aifc`.","created_at":"2017-02-18T23:42:12Z","updated_at":"2017-02-22T07:23:31Z","closed_at":"2017-02-22T07:23:31Z","merged_at":"2017-02-22T07:23:31Z","merge_commit_sha":"03f68b60e17b57f6f13729ff73245dbb37b30a4c","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/python/cpython/pulls/162/commits","review_comments_url":"https://api.github.com/repos/python/cpython/pulls/162/comments","review_comment_url":"https://api.github.com/repos/python/cpython/pulls/comments{/number}","comments_url":"https://api.github.com/repos/python/cpython/issues/162/comments","statuses_url":"https://api.github.com/repos/python/cpython/statuses/e09c582d908b697035b3a63287f0c670dea67039","head":{"label":"Uberi:bpo-29110","ref":"bpo-29110","sha":"e09c582d908b697035b3a63287f0c670dea67039","user":{"login":"Uberi","id":437196,"avatar_url":"https://avatars.githubusercontent.com/u/437196?v=3","gravatar_id":"","url":"https://api.github.com/users/Uberi","html_url":"https://github.com/Uberi","followers_url":"https://api.github.com/users/Uberi/followers","following_url":"https://api.github.com/users/Uberi/following{/other_user}","gists_url":"https://api.github.com/users/Uberi/gists{/gist_id}","starred_url":"https://api.github.com/users/Uberi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Uberi/subscriptions","organizations_url":"https://api.github.com/users/Uberi/orgs","repos_url":"https://api.github.com/users/Uberi/repos","events_url":"https://api.github.com/users/Uberi/events{/privacy}","received_events_url":"https://api.github.com/users/Uberi/received_events","type":"User","site_admin":false},"repo":{"id":82418577,"name":"cpython","full_name":"Uberi/cpython","owner":{"login":"Uberi","id":437196,"avatar_url":"https://avatars.githubusercontent.com/u/437196?v=3","gravatar_id":"","url":"https://api.github.com/users/Uberi","html_url":"https://github.com/Uberi","followers_url":"https://api.github.com/users/Uberi/followers","following_url":"https://api.github.com/users/Uberi/following{/other_user}","gists_url":"https://api.github.com/users/Uberi/gists{/gist_id}","starred_url":"https://api.github.com/users/Uberi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Uberi/subscriptions","organizations_url":"https://api.github.com/users/Uberi/orgs","repos_url":"https://api.github.com/users/Uberi/repos","events_url":"https://api.github.com/users/Uberi/events{/privacy}","received_events_url":"https://api.github.com/users/Uberi/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Uberi/cpython","description":"The Python programming language","fork":true,"url":"https://api.github.com/repos/Uberi/cpython","forks_url":"https://api.github.com/repos/Uberi/cpython/forks","keys_url":"https://api.github.com/repos/Uberi/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Uberi/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Uberi/cpython/teams","hooks_url":"https://api.github.com/repos/Uberi/cpython/hooks","issue_events_url":"https://api.github.com/repos/Uberi/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/Uberi/cpython/events","assignees_url":"https://api.github.com/repos/Uberi/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/Uberi/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/Uberi/cpython/tags","blobs_url":"https://api.github.com/repos/Uberi/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Uberi/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Uberi/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/Uberi/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Uberi/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/Uberi/cpython/languages","stargazers_url":"https://api.github.com/repos/Uberi/cpython/stargazers","contributors_url":"https://api.github.com/repos/Uberi/cpython/contributors","subscribers_url":"https://api.github.com/repos/Uberi/cpython/subscribers","subscription_url":"https://api.github.com/repos/Uberi/cpython/subscription","commits_url":"https://api.github.com/repos/Uberi/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/Uberi/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/Uberi/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/Uberi/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/Uberi/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/Uberi/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Uberi/cpython/merges","archive_url":"https://api.github.com/repos/Uberi/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Uberi/cpython/downloads","issues_url":"https://api.github.com/repos/Uberi/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/Uberi/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/Uberi/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/Uberi/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Uberi/cpython/labels{/name}","releases_url":"https://api.github.com/repos/Uberi/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/Uberi/cpython/deployments","created_at":"2017-02-18T21:56:43Z","updated_at":"2017-02-18T21:57:06Z","pushed_at":"2017-02-22T05:14:28Z","git_url":"git://github.com/Uberi/cpython.git","ssh_url":"git@github.com:Uberi/cpython.git","clone_url":"https://github.com/Uberi/cpython.git","svn_url":"https://github.com/Uberi/cpython","homepage":"https://www.python.org/","size":182258,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"python:master","ref":"master","sha":"4cee049f5b6864066b8315e9b54de955e5487dfc","user":{"login":"python","id":1525981,"avatar_url":"https://avatars.githubusercontent.com/u/1525981?v=3","gravatar_id":"","url":"https://api.github.com/users/python","html_url":"https://github.com/python","followers_url":"https://api.github.com/users/python/followers","following_url":"https://api.github.com/users/python/following{/other_user}","gists_url":"https://api.github.com/users/python/gists{/gist_id}","starred_url":"https://api.github.com/users/python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/python/subscriptions","organizations_url":"https://api.github.com/users/python/orgs","repos_url":"https://api.github.com/users/python/repos","events_url":"https://api.github.com/users/python/events{/privacy}","received_events_url":"https://api.github.com/users/python/received_events","type":"Organization","site_admin":false},"repo":{"id":81598961,"name":"cpython","full_name":"python/cpython","owner":{"login":"python","id":1525981,"avatar_url":"https://avatars.githubusercontent.com/u/1525981?v=3","gravatar_id":"","url":"https://api.github.com/users/python","html_url":"https://github.com/python","followers_url":"https://api.github.com/users/python/followers","following_url":"https://api.github.com/users/python/following{/other_user}","gists_url":"https://api.github.com/users/python/gists{/gist_id}","starred_url":"https://api.github.com/users/python/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/python/subscriptions","organizations_url":"https://api.github.com/users/python/orgs","repos_url":"https://api.github.com/users/python/repos","events_url":"https://api.github.com/users/python/events{/privacy}","received_events_url":"https://api.github.com/users/python/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/python/cpython","description":"The Python programming language","fork":false,"url":"https://api.github.com/repos/python/cpython","forks_url":"https://api.github.com/repos/python/cpython/forks","keys_url":"https://api.github.com/repos/python/cpython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/python/cpython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/python/cpython/teams","hooks_url":"https://api.github.com/repos/python/cpython/hooks","issue_events_url":"https://api.github.com/repos/python/cpython/issues/events{/number}","events_url":"https://api.github.com/repos/python/cpython/events","assignees_url":"https://api.github.com/repos/python/cpython/assignees{/user}","branches_url":"https://api.github.com/repos/python/cpython/branches{/branch}","tags_url":"https://api.github.com/repos/python/cpython/tags","blobs_url":"https://api.github.com/repos/python/cpython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/python/cpython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/python/cpython/git/refs{/sha}","trees_url":"https://api.github.com/repos/python/cpython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/python/cpython/statuses/{sha}","languages_url":"https://api.github.com/repos/python/cpython/languages","stargazers_url":"https://api.github.com/repos/python/cpython/stargazers","contributors_url":"https://api.github.com/repos/python/cpython/contributors","subscribers_url":"https://api.github.com/repos/python/cpython/subscribers","subscription_url":"https://api.github.com/repos/python/cpython/subscription","commits_url":"https://api.github.com/repos/python/cpython/commits{/sha}","git_commits_url":"https://api.github.com/repos/python/cpython/git/commits{/sha}","comments_url":"https://api.github.com/repos/python/cpython/comments{/number}","issue_comment_url":"https://api.github.com/repos/python/cpython/issues/comments{/number}","contents_url":"https://api.github.com/repos/python/cpython/contents/{+path}","compare_url":"https://api.github.com/repos/python/cpython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/python/cpython/merges","archive_url":"https://api.github.com/repos/python/cpython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/python/cpython/downloads","issues_url":"https://api.github.com/repos/python/cpython/issues{/number}","pulls_url":"https://api.github.com/repos/python/cpython/pulls{/number}","milestones_url":"https://api.github.com/repos/python/cpython/milestones{/number}","notifications_url":"https://api.github.com/repos/python/cpython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/python/cpython/labels{/name}","releases_url":"https://api.github.com/repos/python/cpython/releases{/id}","deployments_url":"https://api.github.com/repos/python/cpython/deployments","created_at":"2017-02-10T19:23:51Z","updated_at":"2017-02-22T07:13:10Z","pushed_at":"2017-02-22T07:23:31Z","git_url":"git://github.com/python/cpython.git","ssh_url":"git@github.com:python/cpython.git","clone_url":"https://github.com/python/cpython.git","svn_url":"https://github.com/python/cpython","homepage":"https://www.python.org/","size":182344,"stargazers_count":5984,"watchers_count":5984,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":402,"mirror_url":null,"open_issues_count":71,"forks":402,"open_issues":71,"watchers":5984,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/python/cpython/pulls/162"},"html":{"href":"https://github.com/python/cpython/pull/162"},"issue":{"href":"https://api.github.com/repos/python/cpython/issues/162"},"comments":{"href":"https://api.github.com/repos/python/cpython/issues/162/comments"},"review_comments":{"href":"https://api.github.com/repos/python/cpython/pulls/162/comments"},"review_comment":{"href":"https://api.github.com/repos/python/cpython/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/python/cpython/pulls/162/commits"},"statuses":{"href":"https://api.github.com/repos/python/cpython/statuses/e09c582d908b697035b3a63287f0c670dea67039"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"methane","id":199592,"avatar_url":"https://avatars.githubusercontent.com/u/199592?v=3","gravatar_id":"","url":"https://api.github.com/users/methane","html_url":"https://github.com/methane","followers_url":"https://api.github.com/users/methane/followers","following_url":"https://api.github.com/users/methane/following{/other_user}","gists_url":"https://api.github.com/users/methane/gists{/gist_id}","starred_url":"https://api.github.com/users/methane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/methane/subscriptions","organizations_url":"https://api.github.com/users/methane/orgs","repos_url":"https://api.github.com/users/methane/repos","events_url":"https://api.github.com/users/methane/events{/privacy}","received_events_url":"https://api.github.com/users/methane/received_events","type":"User","site_admin":false},"comments":3,"review_comments":7,"maintainer_can_modify":false,"commits":1,"additions":33,"deletions":13,"changed_files":3}}
{"actor":{"display_login":"methane"}}