diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2022-09-15 13:45:45 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2022-09-27 13:07:37 +0200 |
| commit | 75c78242e3cb60e13282fa7040f13832f573320e (patch) | |
| tree | 805f9968ecac48e8c4a10ab83aadcad17f8036a4 /pkg/osutil | |
| parent | 2b420c9686b7c95216d491a97fcd5158acb810f2 (diff) | |
syz-manager: extract fs images from reproducers
Diffstat (limited to 'pkg/osutil')
| -rw-r--r-- | pkg/osutil/osutil.go | 14 |
1 files changed, 14 insertions, 0 deletions
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) |
