From a7b199253f7a517fd62f36a5d632efee3bac737e Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 3 Jul 2017 14:00:47 +0200 Subject: all: use consistent file permissions Currently we have unix permissions for new files/dirs hardcoded throughout the code base. Some places use 0644, some - 0640, some - 0600 and a variety of other constants. Introduce osutil.MkdirAll/WriteFile that use the default permissions and use them throughout the code base. This makes permissions consistent and also allows to easily change the permissions later if we change our minds. Also merge pkg/fileutil into pkg/osutil as they become dependent on each other. The line between them was poorly defined anyway as both operate on files. --- tools/syz-db/syz-db.go | 5 +++-- tools/syz-execprog/execprog.go | 3 ++- tools/syz-upgrade/upgrade.go | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) (limited to 'tools') diff --git a/tools/syz-db/syz-db.go b/tools/syz-db/syz-db.go index 2ebbc186d..0ea8a9c10 100644 --- a/tools/syz-db/syz-db.go +++ b/tools/syz-db/syz-db.go @@ -13,6 +13,7 @@ import ( "github.com/google/syzkaller/pkg/db" "github.com/google/syzkaller/pkg/hash" + "github.com/google/syzkaller/pkg/osutil" ) func main() { @@ -76,13 +77,13 @@ func unpack(file, dir string) { if err != nil { failf("failed to open database: %v", err) } - os.Mkdir(dir, 0750) + osutil.MkdirAll(dir) for key, rec := range db.Records { fname := filepath.Join(dir, key) if rec.Seq != 0 { fname += fmt.Sprintf("-%v", rec.Seq) } - if err := ioutil.WriteFile(fname, rec.Val, 0640); err != nil { + if err := osutil.WriteFile(fname, rec.Val); err != nil { failf("failed to output file: %v", err) } } diff --git a/tools/syz-execprog/execprog.go b/tools/syz-execprog/execprog.go index 825052ffc..a2e530fbf 100644 --- a/tools/syz-execprog/execprog.go +++ b/tools/syz-execprog/execprog.go @@ -21,6 +21,7 @@ import ( "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/pkg/ipc" . "github.com/google/syzkaller/pkg/log" + "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" ) @@ -155,7 +156,7 @@ func main() { for _, pc := range inf.Cover { binary.Write(buf, binary.LittleEndian, cover.RestorePC(pc, 0xffffffff)) } - err := ioutil.WriteFile(fmt.Sprintf("%v.%v", *flagCoverFile, i), buf.Bytes(), 0660) + err := osutil.WriteFile(fmt.Sprintf("%v.%v", *flagCoverFile, i), buf.Bytes()) if err != nil { Fatalf("failed to write coverage file: %v", err) } diff --git a/tools/syz-upgrade/upgrade.go b/tools/syz-upgrade/upgrade.go index ea2b3b6df..0d7c42112 100644 --- a/tools/syz-upgrade/upgrade.go +++ b/tools/syz-upgrade/upgrade.go @@ -16,6 +16,7 @@ import ( "os" "path/filepath" + "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" ) @@ -44,7 +45,7 @@ func main() { fmt.Printf("upgrading:\n%s\nto:\n%s\n\n", data, data1) hash := sha1.Sum(data1) fname1 := filepath.Join(os.Args[1], hex.EncodeToString(hash[:])) - if err := ioutil.WriteFile(fname1, data1, 0640); err != nil { + if err := osutil.WriteFile(fname1, data1); err != nil { fatalf("failed to write program: %v", err) } if err := os.Remove(fname); err != nil { -- cgit mrf-deployment