diff options
author | Hiltjo Posthuma <[email protected]> | 2022-01-03 12:21:12 +0100 |
---|---|---|
committer | Hiltjo Posthuma <[email protected]> | 2022-01-03 12:22:52 +0100 |
commit | 4d19863b062ac469fe09dec014976ba3b8677fb0 (patch) | |
tree | d847682155a0c875ef38f070294258d253b637c4 | |
parent | df2a31c67a7b6ca782121248f650526a4fbe08d2 (diff) | |
download | stagit-4d19863b062ac469fe09dec014976ba3b8677fb0.tar.gz stagit-4d19863b062ac469fe09dec014976ba3b8677fb0.zip |
libgit2 config opts: set the search to an empty path
Otherwise this would search outside the unveiled paths and cause an unveil
violation.
Reported by Anton Lindqvist, thanks!
-rw-r--r-- | stagit-index.c | 4 | ||||
-rw-r--r-- | stagit.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/stagit-index.c b/stagit-index.c index 087ae1e..7c1f76d 100644 --- a/stagit-index.c +++ b/stagit-index.c @@ -173,7 +173,11 @@ main(int argc, char *argv[]) return 1; } + /* do not search outside the git repository: + GIT_CONFIG_LEVEL_APP is the highest level currently */ git_libgit2_init(); + for (i = 1; i <= GIT_CONFIG_LEVEL_APP; i++) + git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, i, ""); #ifdef __OpenBSD__ if (pledge("stdio rpath", NULL) == -1) @@ -1220,7 +1220,11 @@ main(int argc, char *argv[]) if (!realpath(repodir, repodirabs)) err(1, "realpath"); + /* do not search outside the git repository: + GIT_CONFIG_LEVEL_APP is the highest level currently */ git_libgit2_init(); + for (i = 1; i <= GIT_CONFIG_LEVEL_APP; i++) + git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, i, ""); #ifdef __OpenBSD__ if (unveil(repodir, "r") == -1) |