commit c02c541e86ab0a00bfa00cfe311ad98d536355c3 from: Stefan Sperling date: Fri Mar 29 04:55:46 2019 UTC scan for git repository before applying unveil(2) commit - 70ac5f8404f46cd2a9d3cb6c34cb89e61c76df1f commit + c02c541e86ab0a00bfa00cfe311ad98d536355c3 blob - e083023d4b4d640205a1f9554968d287c356fdc3 blob + cef2aab59352903c01572876d40672efeca7ceaf --- got/got.c +++ got/got.c @@ -375,13 +375,13 @@ cmd_checkout(int argc, char *argv[]) } } else usage_checkout(); - - error = apply_unveil(repo_path, 0, worktree_path); - if (error) - goto done; error = got_repo_open(&repo, repo_path); if (error != NULL) + goto done; + + error = apply_unveil(got_repo_get_path(repo), 0, worktree_path); + if (error) goto done; error = got_ref_open(&head_ref, repo, GOT_REF_HEAD); @@ -877,16 +877,16 @@ cmd_log(int argc, char *argv[]) error = got_error_from_errno(); goto done; } - - error = apply_unveil(repo_path, 1, - worktree ? got_worktree_get_root_path(worktree) : NULL); - if (error) - goto done; error = got_repo_open(&repo, repo_path); if (error != NULL) goto done; + error = apply_unveil(got_repo_get_path(repo), 1, + worktree ? got_worktree_get_root_path(worktree) : NULL); + if (error) + goto done; + if (start_commit == NULL) { struct got_reference *head_ref; error = got_ref_open(&head_ref, repo, GOT_REF_HEAD); @@ -1136,17 +1136,17 @@ cmd_diff(int argc, char *argv[]) if (repo_path == NULL) return got_error_from_errno(); } - - error = apply_unveil(repo_path, 1, - worktree ? got_worktree_get_root_path(worktree) : NULL); - if (error) - goto done; error = got_repo_open(&repo, repo_path); free(repo_path); if (error != NULL) goto done; + error = apply_unveil(got_repo_get_path(repo), 1, + worktree ? got_worktree_get_root_path(worktree) : NULL); + if (error) + goto done; + if (worktree) { struct print_diff_arg arg; char *id_str; @@ -1298,12 +1298,12 @@ cmd_blame(int argc, char *argv[]) } } - error = apply_unveil(repo_path, 1, NULL); - if (error) + error = got_repo_open(&repo, repo_path); + if (error != NULL) goto done; - error = got_repo_open(&repo, repo_path); - if (error != NULL) + error = apply_unveil(got_repo_get_path(repo), 1, NULL); + if (error) goto done; if (worktree) { @@ -1525,12 +1525,12 @@ cmd_tree(int argc, char *argv[]) } } - error = apply_unveil(repo_path, 1, NULL); - if (error) - goto done; - error = got_repo_open(&repo, repo_path); if (error != NULL) + goto done; + + error = apply_unveil(got_repo_get_path(repo), 1, NULL); + if (error) goto done; if (path == NULL) { @@ -1822,16 +1822,16 @@ cmd_ref(int argc, char *argv[]) } } } - - error = apply_unveil(repo_path, do_list, - worktree ? got_worktree_get_root_path(worktree) : NULL); - if (error) - goto done; error = got_repo_open(&repo, repo_path); if (error != NULL) goto done; + error = apply_unveil(got_repo_get_path(repo), do_list, + worktree ? got_worktree_get_root_path(worktree) : NULL); + if (error) + goto done; + if (do_list) error = list_refs(repo); else if (delref) blob - 6a5d7979534112e3d421c7b0de965e7f10ef4eb6 blob + 059eaa8e6eab47815fe27e61729bced6196ccbd1 --- tog/tog.c +++ tog/tog.c @@ -1896,16 +1896,16 @@ cmd_log(int argc, char *argv[]) } init_curses(); - - error = apply_unveil(repo_path, - worktree ? got_worktree_get_root_path(worktree) : NULL); - if (error) - goto done; error = got_repo_open(&repo, repo_path); if (error != NULL) goto done; + error = apply_unveil(got_repo_get_path(repo), + worktree ? got_worktree_get_root_path(worktree) : NULL); + if (error) + goto done; + if (start_commit == NULL) error = get_head_commit_id(&start_id, repo); else @@ -2500,12 +2500,11 @@ cmd_diff(int argc, char *argv[]) init_curses(); - error = apply_unveil(repo_path, NULL); + error = got_repo_open(&repo, repo_path); if (error) goto done; - error = got_repo_open(&repo, repo_path); - free(repo_path); + error = apply_unveil(got_repo_get_path(repo), NULL); if (error) goto done; @@ -2531,6 +2530,7 @@ cmd_diff(int argc, char *argv[]) goto done; error = view_loop(view); done: + free(repo_path); got_repo_close(repo); got_ref_list_free(&refs); return error; @@ -3243,12 +3243,12 @@ cmd_blame(int argc, char *argv[]) init_curses(); - error = apply_unveil(repo_path, NULL); - if (error) + error = got_repo_open(&repo, repo_path); + if (error != NULL) goto done; - error = got_repo_open(&repo, repo_path); - if (error != NULL) + error = apply_unveil(got_repo_get_path(repo), NULL); + if (error) goto done; if (worktree) { @@ -3910,12 +3910,12 @@ cmd_tree(int argc, char *argv[]) init_curses(); - error = apply_unveil(repo_path, NULL); - if (error) + error = got_repo_open(&repo, repo_path); + if (error != NULL) goto done; - error = got_repo_open(&repo, repo_path); - if (error != NULL) + error = apply_unveil(got_repo_get_path(repo), NULL); + if (error) goto done; if (commit_id_arg == NULL)