File tree 1 file changed +9
-6
lines changed 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -22,17 +22,20 @@ func (a VirtualSnakeWatermark) WorseThan(b VirtualSnakeWatermark) bool {
22
22
}
23
23
24
24
func (v * VirtualSnakeBootstrap ) ProtectedPayload () ([]byte , error ) {
25
- buffer := make ([]byte , ed25519 .SignatureSize + v .Sequence .Length ())
26
- sn , err := v .Sequence .MarshalBinary (buffer [:])
25
+ buffer := make ([]byte , v .Sequence .Length ()+ v .Root .Length ())
26
+ offset := 0
27
+ n , err := v .Sequence .MarshalBinary (buffer [:])
27
28
if err != nil {
28
29
return nil , fmt .Errorf ("v.Sequence.MarshalBinary: %w" , err )
29
30
}
30
- rn := copy (buffer [:sn ], v .RootPublicKey [:])
31
- rsn , err := v .RootSequence .MarshalBinary (buffer [sn + rn :])
31
+ offset += n
32
+ offset += copy (buffer [offset :], v .RootPublicKey [:])
33
+ n , err = v .RootSequence .MarshalBinary (buffer [offset :])
32
34
if err != nil {
33
- return nil , fmt .Errorf ("v.Sequence .MarshalBinary: %w" , err )
35
+ return nil , fmt .Errorf ("v.RootSequence .MarshalBinary: %w" , err )
34
36
}
35
- return buffer [:sn + rn + rsn ], nil
37
+ offset += n
38
+ return buffer [:offset ], nil
36
39
}
37
40
38
41
func (v * VirtualSnakeBootstrap ) MarshalBinary (buf []byte ) (int , error ) {
You can’t perform that action at this time.
0 commit comments