{"push_id":2686960850,"size":26,"distinct_size":25,"ref":"refs/heads/static-analysis","head":"2725185aeba3ae5dd4ab129158cb4677a8a63042","before":"abc91f426707575a845d99189b63dce4e8bb20d5","commits":[{"sha":"ce17788533600bedf06cdbfbac1f2bd373484a24","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"exec_always: fix leaks\n\n - child would leak in the workspace_record_pid path\n - removing malloc lets us get rid of That Comment nobody seems\nto remember what it was about\n - we would leak pipe fds on first fork failling\n - we didn't return an error if second fork failed\n - the final executed process still had both pipe fds\n(would show up in /proc/23560/fd in launched programs)\n - we would write twice to the pipe if execl failed for some reason\n(e.g. if /bin/sh doesn't exist?!)","distinct":false,"url":"https://api.github.com/repos/martinetd/sway/commits/ce17788533600bedf06cdbfbac1f2bd373484a24"},{"sha":"7a76ebee88bad876b1c0556fabde5f03740ce850","author":{"name":"Drew DeVault","email":"e5f37c1b03f961a4b67ed44d6e9534d9b73665f9@cmpwn.com"},"message":"Merge pull request #2188 from martinetd/exec-always-cmd\n\nexec_always: fix leaks","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/7a76ebee88bad876b1c0556fabde5f03740ce850"},{"sha":"7abb4d63e2f8b58e4dd704b34c9fab07bb2f891d","author":{"name":"emersion","email":"1a73af9e7ae00182733b2292511b814be66f065f@emersion.fr"},"message":"Init screencopy manager","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/7abb4d63e2f8b58e4dd704b34c9fab07bb2f891d"},{"sha":"649e084f41295be761c0e9137831281b220dd970","author":{"name":"emersion","email":"1a73af9e7ae00182733b2292511b814be66f065f@emersion.fr"},"message":"Merge pull request #2190 from emersion/screencopy\n\nInit screencopy manager","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/649e084f41295be761c0e9137831281b220dd970"},{"sha":"1b7f554474552bd6c463b417305562d6d7dfd3d3","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"log_kernel: s/fclose/pclose/ (for popen'd FILE)\n\nWith recent glibc the functions are strictly identical, but this might\nnot be true for all libc implementations\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/1b7f554474552bd6c463b417305562d6d7dfd3d3"},{"sha":"9c8fb7d025920eacf264e290010e235452235c83","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"invoke_swaybar: fix message length header size\n\nsize_t/ssize_t are 8 bytes on 64bit systems, so use the proper size to\ntransmit that information.\nThis could lead to ridiculously large alloc as len is not initialized to zero\n\nFound through static analysis","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/9c8fb7d025920eacf264e290010e235452235c83"},{"sha":"546ddbcd5bd76def3bb51114d4e1e6eb93eb16e7","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"ipc-server: fix double-free on send error in ipc_send_event\n\nipc_send_reply already does client disconnect on error, so we shouldn't\ndo it again.\nWe also need to process current index again as disconnect removes client\nfrom the list we currently are processing (this is an indexed \"list\")\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/546ddbcd5bd76def3bb51114d4e1e6eb93eb16e7"},{"sha":"0ab04b7434306c5faceda2b4d2922e9d78de0184","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"ipc-server: minor code cleanup\n\nNo logic change here, this one is mostly to please static analyzer:\n - client->fd can never be -1 (and if it could, close() a few lines below\nwould have needed the same check)\n - we never send permission denied error (dead code)","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/0ab04b7434306c5faceda2b4d2922e9d78de0184"},{"sha":"ebe69583c7304fe50247b5929106e3e5ce95b53a","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"ipc-server: fix more use-after-frees on ipc_send_reply error\n\nSince ipc_send_reply frees the client on error, we need to check the\nreturn value properly as we access client later on\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/ebe69583c7304fe50247b5929106e3e5ce95b53a"},{"sha":"5690bea22745789ada70ba8b4814f2e15ee23bd2","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"input_config: free new_input_config on error\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/5690bea22745789ada70ba8b4814f2e15ee23bd2"},{"sha":"557a14a6fe79002427008a0cf831808202609ae4","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"config_commands_command: make alloc failure check more permanent\n\npolicy is accessed again later\n\nFound through static analysis","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/557a14a6fe79002427008a0cf831808202609ae4"},{"sha":"ab187405297b77f85e0d5ed9630ae43b2db61324","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"output commands: move !argc checks after argc gets decremented\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/ab187405297b77f85e0d5ed9630ae43b2db61324"},{"sha":"9c9ee3e4ef9d4e57ec801a79e0b2da1bd2a6d46e","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"find prev/next output/workspace: add NULL check\n\nThese could be called with NULL if there is no focus\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/9c9ee3e4ef9d4e57ec801a79e0b2da1bd2a6d46e"},{"sha":"c78ab67877e15e4bbbdfd4e8bb7f94309980489b","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"workspace_next_name: fix string length for ws_num >= 100\n\nThe check didn't include && ws_num < 100 so l would always be 1 or 2\nInstead of fixing logic it's simpler to just call snprintf twice to get\nlength and use that.\n\nAlso change malloc failure check to sway_assert because both callers of\nthis function do not do null check and would segfault...\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/c78ab67877e15e4bbbdfd4e8bb7f94309980489b"},{"sha":"df494a7e517281f21fde265bc31badae3245bb26","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"transaction_apply: use float for quotient\n\nPre-dividing 1000/60 would lose 2/3 due to round-up\n\nFound through static analysis","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/df494a7e517281f21fde265bc31badae3245bb26"},{"sha":"a2354d599254941da46e3e17b929c1a40e816cc4","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"cmd_background: fix leak on error\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/a2354d599254941da46e3e17b929c1a40e816cc4"},{"sha":"0c6149171b3cbbf2b85a58743555db6fd866fa00","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"read_config: fix leak on error\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/0c6149171b3cbbf2b85a58743555db6fd866fa00"},{"sha":"f0d1d263204287b4e0f22368c046cefbbb92cb25","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"get_parent_pid: fix memory leak\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/f0d1d263204287b4e0f22368c046cefbbb92cb25"},{"sha":"6d2b82253a5f2fb0ab8e63ded2b62e5d4088e63b","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"bar_cmd_font: fix leak of font\n\njoin_args is a freshly allocated string and can be used as is.\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/6d2b82253a5f2fb0ab8e63ded2b62e5d4088e63b"},{"sha":"c73c552cae435dd61ebbe0c76aa66570095375a9","author":{"name":"Dominique Martinet","email":"5572329f140aee0fa22639be698cb2df6cd1e789@codewreck.org"},"message":"bar_cmd_modifier: fix use-after-free on error\n\nFound through static analysis.","distinct":true,"url":"https://api.github.com/repos/martinetd/sway/commits/c73c552cae435dd61ebbe0c76aa66570095375a9"}]}
{"actor":{"display_login":"martinetd"}}