From 75c78242e3cb60e13282fa7040f13832f573320e Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Thu, 15 Sep 2022 13:45:45 +0000 Subject: syz-manager: extract fs images from reproducers --- pkg/osutil/osutil.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'pkg/osutil') diff --git a/pkg/osutil/osutil.go b/pkg/osutil/osutil.go index 7eb033652..c07c6372b 100644 --- a/pkg/osutil/osutil.go +++ b/pkg/osutil/osutil.go @@ -5,8 +5,10 @@ package osutil import ( "bytes" + "compress/gzip" "context" "fmt" + "io" "io/ioutil" "os" "os/exec" @@ -269,6 +271,18 @@ func WriteFile(filename string, data []byte) error { return ioutil.WriteFile(filename, data, DefaultFilePerm) } +func WriteGzipStream(filename string, reader io.Reader) error { + f, err := os.Create(filename) + if err != nil { + return err + } + defer f.Close() + gz := gzip.NewWriter(f) + defer gz.Close() + _, err = io.Copy(gz, reader) + return err +} + func WriteExecFile(filename string, data []byte) error { os.Remove(filename) return ioutil.WriteFile(filename, data, DefaultExecPerm) -- cgit mrf-deployment