aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2022-06-20 11:22:19 -0400
committerAleksandr Nogikh <wp32pw@gmail.com>2022-06-24 12:52:44 +0200
commit13c353a3643c5ee9aa59bd5dc42565a59e140591 (patch)
tree45cd3457bbcd049faf969e87c3a929268c05cc4f
parent4d66945573cb614ee3731840c3af1b6fc3b445d4 (diff)
executor: clear more file flags when removing files
The APPEND flag also prevents file removal.
-rw-r--r--executor/common.h2
-rw-r--r--pkg/csource/generated.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/executor/common.h b/executor/common.h
index e0cfba5ad..92a4d5133 100644
--- a/executor/common.h
+++ b/executor/common.h
@@ -253,7 +253,7 @@ static void reset_flags(const char* filename)
struct stat st;
if (lstat(filename, &st))
exitf("lstat(%s) failed", filename);
- st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE);
+ st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE | SF_APPEND | UF_APPEND);
if (lchflags(filename, st.st_flags))
exitf("lchflags(%s) failed", filename);
}
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 98c5c68a0..570abee7f 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -225,7 +225,7 @@ static void reset_flags(const char* filename)
struct stat st;
if (lstat(filename, &st))
exitf("lstat(%s) failed", filename);
- st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE);
+ st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE | SF_APPEND | UF_APPEND);
if (lchflags(filename, st.st_flags))
exitf("lchflags(%s) failed", filename);
}