Skip to content

Commit 20f71df

Browse files
authored
Merge pull request #312 from josephschorr/backup-npe
Fix panic on backup call if the SpiceDB version is unsupported
2 parents 97172df + 6e62b42 commit 20f71df

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

internal/cmd/backup.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ func backupCmdFunc(cmd *cobra.Command, args []string) error {
7474
hasProgressbar = true
7575
}
7676

77+
if schemaResp.ReadAt == nil {
78+
return fmt.Errorf("`backup` is not supported on this version of SpiceDB")
79+
}
80+
7781
encoder, err := backupformat.NewEncoder(relWriter, schemaResp.SchemaText, schemaResp.ReadAt)
7882
if err != nil {
7983
return fmt.Errorf("error creating backup file encoder: %w", err)

pkg/backupformat/encoder.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package backupformat
22

33
import (
4+
"errors"
45
"fmt"
56
"io"
67

@@ -15,6 +16,10 @@ func NewEncoder(w io.Writer, schema string, token *v1.ZedToken) (*Encoder, error
1516
return nil, fmt.Errorf("unable to create avro schema: %w", err)
1617
}
1718

19+
if token == nil {
20+
return nil, errors.New("missing expected token")
21+
}
22+
1823
md := map[string][]byte{
1924
metadataKeyZT: []byte(token.Token),
2025
}

0 commit comments

Comments
 (0)