{"action":"created","issue":{"url":"https://api.github.com/repos/chrsmith/bwapi/issues/96","labels_url":"https://api.github.com/repos/chrsmith/bwapi/issues/96/labels{/name}","comments_url":"https://api.github.com/repos/chrsmith/bwapi/issues/96/comments","events_url":"https://api.github.com/repos/chrsmith/bwapi/issues/96/events","html_url":"https://github.com/chrsmith/bwapi/issues/96","id":58688886,"number":96,"title":"cleanup for __asm blocks","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/Maintainability","name":"Maintainability","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/Priority-Low","name":"Priority-Low","color":"ededed"},{"url":"https://api.github.com/repos/chrsmith/bwapi/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-02-24T03:32:21Z","updated_at":"2015-02-24T03:32:23Z","closed_at":"2015-02-24T03:32:21Z","body":"```\nThe __asm blocks don't correctly handle the stack.\nThis could be considered a serious exploit in some cases. There is a case\nfor Starcraft maps that allow users to execute malicious code. Fourtinately\nBWAPI is already a hack so there's not much concern for it. In any other\ncase this would be critical priority.\n```\n\n-----\nOriginal issue reported on code.google.com by `AHeinerm` on 15 Nov 2009 at 7:16"},"comment":{"url":"https://api.github.com/repos/chrsmith/bwapi/issues/comments/75692955","html_url":"https://github.com/chrsmith/bwapi/issues/96#issuecomment-75692955","issue_url":"https://api.github.com/repos/chrsmith/bwapi/issues/96","id":75692955,"user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"created_at":"2015-02-24T03:32:23Z","updated_at":"2015-02-24T03:32:23Z","body":"```\n-\"A function going in should have the same stack size going out.\"\n-\"Every function independently maintains the stack\"\n\nthis is not right. there are different calling conventions, with the caller \n(__cdecl) or the callee (__stdcall) removing the arguments from the stack. If \nthe \nexecutable is being optimized, which certainly is the case, it could be not a \nstrict \ncalling convention at all.\n\nIf you miss even 1 byte, the whole thing crashes immediately, so I can \ncentainly say \nthat the current stack handling is 100% fine.\n```\n\n-----\nOriginal comment by `goo...@teabix.com` on 15 Dec 2009 at 2:22"}}