Skip to content

Commit 7438362

Browse files
authored
Merge pull request #14 from nmiyake/fixEnvelopeVerifyPanic
Ensure that EnvelopeVerifier.Verify does not panic on nil envelope
2 parents e5b9b0e + afd7bcc commit 7438362

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

dsse/verify.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ type AcceptedKey struct {
3232
}
3333

3434
func (ev *EnvelopeVerifier) Verify(e *Envelope) ([]AcceptedKey, error) {
35+
if e == nil {
36+
return nil, errors.New("cannot verify a nil envelope")
37+
}
38+
3539
if len(e.Signatures) == 0 {
3640
return nil, ErrNoSignature
3741
}

dsse/verify_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ import (
88
"github.com/stretchr/testify/assert"
99
)
1010

11+
func TestEnvelopeVerifier_Verify_HandlesNil(t *testing.T) {
12+
verifier, err := NewEnvelopeVerifier(&mockVerifier{})
13+
assert.NoError(t, err)
14+
15+
acceptedKeys, err := verifier.Verify(nil)
16+
assert.Empty(t, acceptedKeys)
17+
assert.EqualError(t, err, "cannot verify a nil envelope")
18+
}
19+
1120
type mockVerifier struct {
1221
returnErr error
1322
}

0 commit comments

Comments
 (0)