Copy PeerEphemeral to avoid buffer corruption

This commit is contained in:
Jonathan Rudenberg 2015-11-16 22:07:11 -05:00
parent 3881dc9640
commit 82839267d3

View File

@ -151,11 +151,14 @@ func NewHandshakeState(c Config) *HandshakeState {
s: c.StaticKeypair,
e: c.EphemeralKeypair,
rs: c.PeerStatic,
re: c.PeerEphemeral,
messagePatterns: c.Pattern.Messages,
shouldWrite: c.Initiator,
rng: c.Random,
}
if len(c.PeerEphemeral) > 0 {
hs.re = make([]byte, len(c.PeerEphemeral))
copy(hs.re, c.PeerEphemeral)
}
hs.SymmetricState.cs = c.CipherSuite
namePrefix := "Noise_"
if len(c.PresharedKey) > 0 {