{"action":"created","issue":{"url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/43","labels_url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/43/comments","events_url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/43/events","html_url":"https://github.com/nemomobile/buteo-sync-plugins-social/pull/43","id":95575056,"number":43,"title":"[buteo-sync-plugins-social] Guard notebook pointer access. Contributes to MER#1173","user":{"login":"chriadam","id":2569776,"avatar_url":"https://avatars.githubusercontent.com/u/2569776?v=3","gravatar_id":"","url":"https://api.github.com/users/chriadam","html_url":"https://github.com/chriadam","followers_url":"https://api.github.com/users/chriadam/followers","following_url":"https://api.github.com/users/chriadam/following{/other_user}","gists_url":"https://api.github.com/users/chriadam/gists{/gist_id}","starred_url":"https://api.github.com/users/chriadam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriadam/subscriptions","organizations_url":"https://api.github.com/users/chriadam/orgs","repos_url":"https://api.github.com/users/chriadam/repos","events_url":"https://api.github.com/users/chriadam/events{/privacy}","received_events_url":"https://api.github.com/users/chriadam/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-07-17T03:09:02Z","updated_at":"2015-07-17T09:11:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/pulls/43","html_url":"https://github.com/nemomobile/buteo-sync-plugins-social/pull/43","diff_url":"https://github.com/nemomobile/buteo-sync-plugins-social/pull/43.diff","patch_url":"https://github.com/nemomobile/buteo-sync-plugins-social/pull/43.patch"},"body":"This commit ensures that we check the value of the notebook pointer\r\nreturned from the lookup function after asynchronous network requests\r\nhave finished, otherwise (if the local notebook is deleted during sync)\r\ndereferencing this pointer can cause a crash.\r\n\r\nContributes to MER#1173"},"comment":{"url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/comments/122225463","html_url":"https://github.com/nemomobile/buteo-sync-plugins-social/pull/43#issuecomment-122225463","issue_url":"https://api.github.com/repos/nemomobile/buteo-sync-plugins-social/issues/43","id":122225463,"user":{"login":"chriadam","id":2569776,"avatar_url":"https://avatars.githubusercontent.com/u/2569776?v=3","gravatar_id":"","url":"https://api.github.com/users/chriadam","html_url":"https://github.com/chriadam","followers_url":"https://api.github.com/users/chriadam/followers","following_url":"https://api.github.com/users/chriadam/following{/other_user}","gists_url":"https://api.github.com/users/chriadam/gists{/gist_id}","starred_url":"https://api.github.com/users/chriadam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriadam/subscriptions","organizations_url":"https://api.github.com/users/chriadam/orgs","repos_url":"https://api.github.com/users/chriadam/repos","events_url":"https://api.github.com/users/chriadam/events{/privacy}","received_events_url":"https://api.github.com/users/chriadam/received_events","type":"User","site_admin":false},"created_at":"2015-07-17T09:11:08Z","updated_at":"2015-07-17T09:11:08Z","body":"With a bit more thought... I wonder how the crash could be hit, in reality?\r\n\r\nThe notebook should only ever be deleted by the sync plugin itself (reacting to the account deletion).  But if that occurs during a sync, I believe that it is queued until the original sync has completed.\r\n\r\nPerhaps I'm wrong about that... I will have to test that.  I hold off on merging this PR until I come up with a conclusive answer."}}