{"action":"created","issue":{"url":"https://api.github.com/repos/att/ast/issues/854","repository_url":"https://api.github.com/repos/att/ast","labels_url":"https://api.github.com/repos/att/ast/issues/854/labels{/name}","comments_url":"https://api.github.com/repos/att/ast/issues/854/comments","events_url":"https://api.github.com/repos/att/ast/issues/854/events","html_url":"https://github.com/att/ast/issues/854","id":358890411,"node_id":"MDU6SXNzdWUzNTg4OTA0MTE=","number":854,"title":"Eliminate pathtemp() or replace its custom RNG with standard libc RNG functionality.","user":{"login":"krader1961","id":7545917,"node_id":"MDQ6VXNlcjc1NDU5MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/7545917?v=4","gravatar_id":"","url":"https://api.github.com/users/krader1961","html_url":"https://github.com/krader1961","followers_url":"https://api.github.com/users/krader1961/followers","following_url":"https://api.github.com/users/krader1961/following{/other_user}","gists_url":"https://api.github.com/users/krader1961/gists{/gist_id}","starred_url":"https://api.github.com/users/krader1961/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krader1961/subscriptions","organizations_url":"https://api.github.com/users/krader1961/orgs","repos_url":"https://api.github.com/users/krader1961/repos","events_url":"https://api.github.com/users/krader1961/events{/privacy}","received_events_url":"https://api.github.com/users/krader1961/received_events","type":"User","site_admin":false},"labels":[{"id":789471713,"node_id":"MDU6TGFiZWw3ODk0NzE3MTM=","url":"https://api.github.com/repos/att/ast/labels/cleanup","name":"cleanup","color":"9abf3d","default":false},{"id":29413218,"node_id":"MDU6TGFiZWwyOTQxMzIxOA==","url":"https://api.github.com/repos/att/ast/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"krader1961","id":7545917,"node_id":"MDQ6VXNlcjc1NDU5MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/7545917?v=4","gravatar_id":"","url":"https://api.github.com/users/krader1961","html_url":"https://github.com/krader1961","followers_url":"https://api.github.com/users/krader1961/followers","following_url":"https://api.github.com/users/krader1961/following{/other_user}","gists_url":"https://api.github.com/users/krader1961/gists{/gist_id}","starred_url":"https://api.github.com/users/krader1961/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krader1961/subscriptions","organizations_url":"https://api.github.com/users/krader1961/orgs","repos_url":"https://api.github.com/users/krader1961/repos","events_url":"https://api.github.com/users/krader1961/events{/privacy}","received_events_url":"https://api.github.com/users/krader1961/received_events","type":"User","site_admin":false},"assignees":[{"login":"krader1961","id":7545917,"node_id":"MDQ6VXNlcjc1NDU5MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/7545917?v=4","gravatar_id":"","url":"https://api.github.com/users/krader1961","html_url":"https://github.com/krader1961","followers_url":"https://api.github.com/users/krader1961/followers","following_url":"https://api.github.com/users/krader1961/following{/other_user}","gists_url":"https://api.github.com/users/krader1961/gists{/gist_id}","starred_url":"https://api.github.com/users/krader1961/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krader1961/subscriptions","organizations_url":"https://api.github.com/users/krader1961/orgs","repos_url":"https://api.github.com/users/krader1961/repos","events_url":"https://api.github.com/users/krader1961/events{/privacy}","received_events_url":"https://api.github.com/users/krader1961/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-09-11T05:20:43Z","updated_at":"2018-09-28T04:56:02Z","closed_at":null,"author_association":"COLLABORATOR","body":"The function `pathtemp()` in *src/lib/libast/path/pathtemp.c* has it's own custom RNG to \"generate a pseudo-random name\". This is both a bad idea and unnecessary. We should either replace the custom RNG with standard libc functionality or replace the handful of uses of `pathtemp()` with something like `mktemp()`."},"comment":{"url":"https://api.github.com/repos/att/ast/issues/comments/425320956","html_url":"https://github.com/att/ast/issues/854#issuecomment-425320956","issue_url":"https://api.github.com/repos/att/ast/issues/854","id":425320956,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNTMyMDk1Ng==","user":{"login":"krader1961","id":7545917,"node_id":"MDQ6VXNlcjc1NDU5MTc=","avatar_url":"https://avatars2.githubusercontent.com/u/7545917?v=4","gravatar_id":"","url":"https://api.github.com/users/krader1961","html_url":"https://github.com/krader1961","followers_url":"https://api.github.com/users/krader1961/followers","following_url":"https://api.github.com/users/krader1961/following{/other_user}","gists_url":"https://api.github.com/users/krader1961/gists{/gist_id}","starred_url":"https://api.github.com/users/krader1961/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krader1961/subscriptions","organizations_url":"https://api.github.com/users/krader1961/orgs","repos_url":"https://api.github.com/users/krader1961/repos","events_url":"https://api.github.com/users/krader1961/events{/privacy}","received_events_url":"https://api.github.com/users/krader1961/received_events","type":"User","site_admin":false},"created_at":"2018-09-28T04:56:02Z","updated_at":"2018-09-28T04:56:02Z","author_association":"COLLABORATOR","body":"From the *src/lib/libast/man/path.3* man page:\r\n\r\n```\r\n       pathtemp  generates  in  path  a   temporary   file   path   name   of   the   form\r\n       dir/pfx<pid>.<suf>  where the length of pfx, if !=0, is limited to 5, the length of\r\n       <pid> (the base 64 representation of the current process id) is limited to  3,  and\r\n       <suf>  (an  internally generated suffix that avoid file conflicts) is limited to 3.\r\n       The generated path name conforms to the classic UNIX 14 char and the DOS 8.3  limi-\r\n       tations.  Both dir and pfx may be 0.  access(2) is used to avoid file conflicts but\r\n       the generated path name is not created, so you could lose in a race.\r\n```\r\n\r\nWe can't possibly care about those limitations in the year 2018. And to the extent they are relevant the libc equivalent functions will deal with them."}}
{"actor":{"display_login":"krader1961"}}