pledge after git_libgit2_init

this is because libgit uses curl which uses some initialization
checks, namely an IPv6 check which creates a socket.
This commit is contained in:
Hiltjo Posthuma 2018-03-26 20:08:19 +02:00
parent f53f481b3f
commit 3c07e52f98

View file

@ -1027,9 +1027,6 @@ main(int argc, char *argv[])
size_t n;
int i, fd;
if (pledge("stdio rpath wpath cpath fattr", NULL) == -1)
err(1, "pledge");
for (i = 1; i < argc; i++) {
if (argv[i][0] != '-') {
if (repodir)
@ -1052,8 +1049,6 @@ main(int argc, char *argv[])
usage(argv[0]);
}
}
if (!cachefile && pledge("stdio rpath wpath cpath", NULL) == -1)
err(1, "pledge");
if (!repodir)
usage(argv[0]);
@ -1062,6 +1057,14 @@ main(int argc, char *argv[])
git_libgit2_init();
if (cachefile) {
if (pledge("stdio rpath wpath cpath fattr", NULL) == -1)
err(1, "pledge");
} else {
if (pledge("stdio rpath wpath cpath", NULL) == -1)
err(1, "pledge");
}
if (git_repository_open_ext(&repo, repodir,
GIT_REPOSITORY_OPEN_NO_SEARCH, NULL) < 0) {
e = giterr_last();