ifix file permissions for cachefile and respect umask(2) - stagit-gopher - A git gopher frontend. (mirror) Err bitreich.org 70
hgit clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ URL:git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/ bitreich.org 70
1Log /scm/stagit-gopher/log.gph bitreich.org 70
1Files /scm/stagit-gopher/files.gph bitreich.org 70
1Refs /scm/stagit-gopher/refs.gph bitreich.org 70
1Tags /scm/stagit-gopher/tag bitreich.org 70
1README /scm/stagit-gopher/file/README.gph bitreich.org 70
1LICENSE /scm/stagit-gopher/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 769babb131e20c4d7ebe197cfc182bc76ea96c18 /scm/stagit-gopher/commit/769babb131e20c4d7ebe197cfc182bc76ea96c18.gph bitreich.org 70
1parent 9420a097388c8c90a4f534d3b5f8d4f6b7f195bd /scm/stagit-gopher/commit/9420a097388c8c90a4f534d3b5f8d4f6b7f195bd.gph bitreich.org 70
hAuthor: Hiltjo Posthuma <hiltjo@codemadness.org> URL:mailto:hiltjo@codemadness.org bitreich.org 70
iDate: Fri, 17 Nov 2017 16:12:12 +0100 Err bitreich.org 70
i Err bitreich.org 70
ifix file permissions for cachefile and respect umask(2) Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M stagit-gopher.c | 12 ++++++++++-- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 10 insertions(+), 2 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/stagit-gopher.c b/stagit-gopher.c /scm/stagit-gopher/file/stagit-gopher.c.gph bitreich.org 70
i@@ -1,4 +1,5 @@ Err bitreich.org 70
i #include <sys/stat.h> Err bitreich.org 70
i+#include <sys/types.h> Err bitreich.org 70
i Err bitreich.org 70
i #include <err.h> Err bitreich.org 70
i #include <errno.h> Err bitreich.org 70
i@@ -1083,6 +1084,7 @@ main(int argc, char *argv[]) Err bitreich.org 70
i git_object *obj = NULL; Err bitreich.org 70
i const git_oid *head = NULL; Err bitreich.org 70
i const git_error *e = NULL; Err bitreich.org 70
i+ mode_t mask; Err bitreich.org 70
i FILE *fp, *fpread; Err bitreich.org 70
i char path[PATH_MAX], repodirabs[PATH_MAX + 1], *p; Err bitreich.org 70
i char tmppath[64] = "cache.XXXXXXXXXXXX", buf[BUFSIZ]; Err bitreich.org 70
i@@ -1256,8 +1258,14 @@ main(int argc, char *argv[]) Err bitreich.org 70
i fclose(fp); Err bitreich.org 70
i Err bitreich.org 70
i /* rename new cache file on success */ Err bitreich.org 70
i- if (cachefile && rename(tmppath, cachefile)) Err bitreich.org 70
i- err(1, "rename: '%s' to '%s'", tmppath, cachefile); Err bitreich.org 70
i+ if (cachefile) { Err bitreich.org 70
i+ if (rename(tmppath, cachefile)) Err bitreich.org 70
i+ err(1, "rename: '%s' to '%s'", tmppath, cachefile); Err bitreich.org 70
i+ umask((mask = umask(0))); Err bitreich.org 70
i+ if (chmod(cachefile, Err bitreich.org 70
i+ (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) & ~mask)) Err bitreich.org 70
i+ err(1, "chmod: '%s'", cachefile); Err bitreich.org 70
i+ } Err bitreich.org 70
i Err bitreich.org 70
i /* cleanup */ Err bitreich.org 70
i git_repository_free(repo); Err bitreich.org 70
.
Response:
text/plain