aboutsummaryrefslogtreecommitdiff
path: root/go/compare-cap.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/compare-cap.go')
-rw-r--r--go/compare-cap.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/go/compare-cap.go b/go/compare-cap.go
index 5e489e5..064d5fa 100644
--- a/go/compare-cap.go
+++ b/go/compare-cap.go
@@ -116,16 +116,18 @@ func tryFileCaps() {
if err := want.SetFd(f); err != nil {
log.Fatalf("failed to fset file capability: %v", err)
}
- if err := saved.SetProc(); err != nil {
- log.Fatalf("failed to lower effective capability: %v", err)
- }
- // End of critical section.
-
if got, err := cap.GetFd(f); err != nil {
log.Fatalf("failed to fread caps: %v", err)
} else if is, was := got.String(), want.String(); is != was {
log.Fatalf("fread file caps do not match desired: got=%q want=%q", is, was)
}
+ if err := empty.SetFd(f); err != nil && err != syscall.ENODATA {
+ log.Fatalf("blocked from cleanup fremoving filecaps: %v", err)
+ }
+ if err := saved.SetProc(); err != nil {
+ log.Fatalf("failed to lower effective capability: %v", err)
+ }
+ // End of critical section.
}
// tryProcCaps performs a set of convenience functions and compares