Introduction
Introduction Statistics Contact Development Disclaimer Help
tfix: add "fattr" pledge for chmod(2) for cachefile - stagit - static git page …
git clone git://src.adamsgaard.dk/stagit
Log
Files
Refs
README
LICENSE
---
commit 2ff0c0d6c02dc0d7b5570d12895f12e0ccafd657
parent 6662b8ee42f0f31c163786d8ed4db2fbf32fdbca
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 19 Nov 2017 14:52:04 +0100
fix: add "fattr" pledge for chmod(2) for cachefile
improve checks for when head is NULL (empty repo)
Diffstat:
M stagit.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/stagit.c b/stagit.c
t@@ -1003,7 +1003,7 @@ main(int argc, char *argv[])
size_t n;
int i, fd;
- if (pledge("stdio rpath wpath cpath", NULL) == -1)
+ if (pledge("stdio rpath wpath cpath fattr", NULL) == -1)
err(1, "pledge");
for (i = 1; i < argc; i++) {
t@@ -1017,6 +1017,8 @@ main(int argc, char *argv[])
cachefile = argv[++i];
}
}
+ if (!cachefile && pledge("stdio rpath wpath cpath", NULL) == -1)
+ err(1, "pledge");
if (!repodir)
usage(argv[0]);
t@@ -1037,10 +1039,6 @@ main(int argc, char *argv[])
head = git_object_id(obj);
git_object_free(obj);
- /* don't cache if there is no HEAD */
- if (!head)
- cachefile = NULL;
-
/* use directory name as name */
if ((name = strrchr(repodirabs, '/')))
name++;
t@@ -1104,7 +1102,7 @@ main(int argc, char *argv[])
"<td class=\"num\" align=\"right\"><b>+</b></td>"
"<td class=\"num\" align=\"right\"><b>-</b></td></tr>\n</thead><…
- if (cachefile) {
+ if (cachefile && head) {
/* read from cache file (does not need to exist) */
if ((rcachefp = fopen(cachefile, "r"))) {
if (!fgets(lastoidstr, sizeof(lastoidstr), rcachefp))
t@@ -1167,7 +1165,7 @@ main(int argc, char *argv[])
fclose(fp);
/* rename new cache file on success */
- if (cachefile) {
+ if (cachefile && head) {
if (rename(tmppath, cachefile))
err(1, "rename: '%s' to '%s'", tmppath, cachefile);
umask((mask = umask(0)));
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.