From 59c86b9e1c7a0f91fbb1b680676f33b4cc7bf137 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Thu, 13 Feb 2025 12:54:22 +0100 Subject: syz-cluster/pkg/blob: add a ReadAllBytes helper --- syz-cluster/pkg/blob/storage.go | 12 ++++++++++++ syz-cluster/pkg/blob/storage_test.go | 6 +----- syz-cluster/pkg/service/series.go | 7 +------ 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/syz-cluster/pkg/blob/storage.go b/syz-cluster/pkg/blob/storage.go index ba85d68d1..f261543c4 100644 --- a/syz-cluster/pkg/blob/storage.go +++ b/syz-cluster/pkg/blob/storage.go @@ -73,3 +73,15 @@ func (ls *LocalStorage) writeFile(name string, source io.Reader) error { } return nil } + +func ReadAllBytes(storage Storage, uri string) ([]byte, error) { + if uri == "" { + return nil, nil + } + reader, err := storage.Read(uri) + if err != nil { + return nil, err + } + defer reader.Close() + return io.ReadAll(reader) +} diff --git a/syz-cluster/pkg/blob/storage_test.go b/syz-cluster/pkg/blob/storage_test.go index 54bc255c7..9d2d830ce 100644 --- a/syz-cluster/pkg/blob/storage_test.go +++ b/syz-cluster/pkg/blob/storage_test.go @@ -6,7 +6,6 @@ package blob import ( "bytes" "fmt" - "io" "testing" "github.com/stretchr/testify/assert" @@ -22,10 +21,7 @@ func TestLocalStorage(t *testing.T) { uris = append(uris, uri) } for i, uri := range uris { - reader, err := storage.Read(uri) - assert.NoError(t, err) - readBytes, err := io.ReadAll(reader) - reader.Close() + readBytes, err := ReadAllBytes(storage, uri) assert.NoError(t, err) assert.EqualValues(t, fmt.Sprintf("object #%d", i), readBytes) } diff --git a/syz-cluster/pkg/service/series.go b/syz-cluster/pkg/service/series.go index 90e9f7fb6..13579cefe 100644 --- a/syz-cluster/pkg/service/series.go +++ b/syz-cluster/pkg/service/series.go @@ -8,7 +8,6 @@ import ( "context" "errors" "fmt" - "io" "github.com/google/syzkaller/syz-cluster/pkg/api" "github.com/google/syzkaller/syz-cluster/pkg/app" @@ -105,11 +104,7 @@ func (s *SeriesService) GetSeries(ctx context.Context, seriesID string) (*api.Se PublishedAt: series.PublishedAt, } for _, patch := range patches { - reader, err := s.blobStorage.Read(patch.BodyURI) - var body []byte - if err == nil { - body, err = io.ReadAll(reader) - } + body, err := blob.ReadAllBytes(s.blobStorage, patch.BodyURI) if err != nil { return nil, fmt.Errorf("failed to read patch %q: %w", patch.ID, err) } -- cgit mrf-deployment