Avoid a panic on invalid ssh key after parsing policy field

Before fix with added test case:

$ go test
=== RUN   TestParsePublicEd25519
--- FAIL: TestParsePublicEd25519 (0.00s)
panic: runtime error: index out of range [1] with length 1 [recovered, repanicked]

goroutine 12 [running]:
testing.tRunner.func1.2({0x61c420, 0xc00001a3f0})
        /usr/lib/golang/src/testing/testing.go:1872 +0x237
testing.tRunner.func1()
        /usr/lib/golang/src/testing/testing.go:1875 +0x35b
panic({0x61c420?, 0xc00001a3f0?})
        /usr/lib/golang/src/runtime/panic.go:783 +0x132
sigsum.org/sigsum-go/internal/ssh.ParsePublicEd25519({0x638fcd?, 0x5b07d1?})
        /home/gk/kode/glasklar/sigsum-go/internal/ssh/public.go:82 +0x24e
sigsum.org/sigsum-go/internal/ssh.TestParsePublicEd25519(0xc0000d0e00)
        /home/gk/kode/glasklar/sigsum-go/internal/ssh/public_test.go:32 +0x17e
testing.tRunner(0xc0000d0e00, 0x644700)
        /usr/lib/golang/src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
        /usr/lib/golang/src/testing/testing.go:1997 +0x465
exit status 2
FAIL    sigsum.org/sigsum-go/internal/ssh       0.007s

Merge request reports

Loading