{"action":"created","issue":{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/2951","repository_url":"https://api.github.com/repos/magnumripper/JohnTheRipper","labels_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/2951/labels{/name}","comments_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/2951/comments","events_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/2951/events","html_url":"https://github.com/magnumripper/JohnTheRipper/issues/2951","id":278541025,"number":2951,"title":"Rewrite common.c: isdec*()","user":{"login":"solardiz","id":18089797,"avatar_url":"https://avatars3.githubusercontent.com/u/18089797?v=4","gravatar_id":"","url":"https://api.github.com/users/solardiz","html_url":"https://github.com/solardiz","followers_url":"https://api.github.com/users/solardiz/followers","following_url":"https://api.github.com/users/solardiz/following{/other_user}","gists_url":"https://api.github.com/users/solardiz/gists{/gist_id}","starred_url":"https://api.github.com/users/solardiz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/solardiz/subscriptions","organizations_url":"https://api.github.com/users/solardiz/orgs","repos_url":"https://api.github.com/users/solardiz/repos","events_url":"https://api.github.com/users/solardiz/events{/privacy}","received_events_url":"https://api.github.com/users/solardiz/received_events","type":"User","site_admin":false},"labels":[{"id":739560595,"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/labels/good%20first%20issue","name":"good first issue","color":"0e8a16","default":true}],"state":"open","locked":false,"assignee":{"login":"jfoug","id":1270024,"avatar_url":"https://avatars0.githubusercontent.com/u/1270024?v=4","gravatar_id":"","url":"https://api.github.com/users/jfoug","html_url":"https://github.com/jfoug","followers_url":"https://api.github.com/users/jfoug/followers","following_url":"https://api.github.com/users/jfoug/following{/other_user}","gists_url":"https://api.github.com/users/jfoug/gists{/gist_id}","starred_url":"https://api.github.com/users/jfoug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfoug/subscriptions","organizations_url":"https://api.github.com/users/jfoug/orgs","repos_url":"https://api.github.com/users/jfoug/repos","events_url":"https://api.github.com/users/jfoug/events{/privacy}","received_events_url":"https://api.github.com/users/jfoug/received_events","type":"User","site_admin":false},"assignees":[{"login":"jfoug","id":1270024,"avatar_url":"https://avatars0.githubusercontent.com/u/1270024?v=4","gravatar_id":"","url":"https://api.github.com/users/jfoug","html_url":"https://github.com/jfoug","followers_url":"https://api.github.com/users/jfoug/followers","following_url":"https://api.github.com/users/jfoug/following{/other_user}","gists_url":"https://api.github.com/users/jfoug/gists{/gist_id}","starred_url":"https://api.github.com/users/jfoug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfoug/subscriptions","organizations_url":"https://api.github.com/users/jfoug/orgs","repos_url":"https://api.github.com/users/jfoug/repos","events_url":"https://api.github.com/users/jfoug/events{/privacy}","received_events_url":"https://api.github.com/users/jfoug/received_events","type":"User","site_admin":false}],"milestone":null,"comments":25,"created_at":"2017-12-01T17:36:22Z","updated_at":"2017-12-04T20:38:49Z","closed_at":null,"author_association":"COLLABORATOR","body":"On invalid input, the `isdec*()` functions in `common.c` may cause signed integer overflow, then try to post-check for it, but the overflow itself is already UB. Those functions should be rewritten to manually work on the strings of digits - just loop over them making sure the characters are in fact digits and are not too numerous, and optionally allow a leading minus sign where needed. If we introduce a limit of at most 9 digits in there, then it would become safe for the callers to call `atoi()` next (like many currently do)."},"comment":{"url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/comments/349097644","html_url":"https://github.com/magnumripper/JohnTheRipper/issues/2951#issuecomment-349097644","issue_url":"https://api.github.com/repos/magnumripper/JohnTheRipper/issues/2951","id":349097644,"user":{"login":"jfoug","id":1270024,"avatar_url":"https://avatars0.githubusercontent.com/u/1270024?v=4","gravatar_id":"","url":"https://api.github.com/users/jfoug","html_url":"https://github.com/jfoug","followers_url":"https://api.github.com/users/jfoug/followers","following_url":"https://api.github.com/users/jfoug/following{/other_user}","gists_url":"https://api.github.com/users/jfoug/gists{/gist_id}","starred_url":"https://api.github.com/users/jfoug/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfoug/subscriptions","organizations_url":"https://api.github.com/users/jfoug/orgs","repos_url":"https://api.github.com/users/jfoug/repos","events_url":"https://api.github.com/users/jfoug/events{/privacy}","received_events_url":"https://api.github.com/users/jfoug/received_events","type":"User","site_admin":false},"created_at":"2017-12-04T20:38:49Z","updated_at":"2017-12-04T20:38:49Z","author_association":"COLLABORATOR","body":"@seekaddo, that is a clean solution, and does not make things overly complex, BUT works flawlessly within that range."}}
{"actor":{"display_login":"jfoug"}}