mirror of
https://git.zx2c4.com/wireguard-go
synced 2025-09-18 20:57:50 +02:00
device: make unmarshall length checks exact
This is already enforced in receive.go, but if these unmarshallers are to have error return values anyway, make them as explicit as possible. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
9e7529c3d2
commit
842888ac5c
@ -116,11 +116,11 @@ type MessageCookieReply struct {
|
|||||||
Cookie [blake2s.Size128 + poly1305.TagSize]byte
|
Cookie [blake2s.Size128 + poly1305.TagSize]byte
|
||||||
}
|
}
|
||||||
|
|
||||||
var errMessageTooShort = errors.New("message too short")
|
var errMessageLengthMismatch = errors.New("message length mismatch")
|
||||||
|
|
||||||
func (msg *MessageInitiation) unmarshal(b []byte) error {
|
func (msg *MessageInitiation) unmarshal(b []byte) error {
|
||||||
if len(b) < MessageInitiationSize {
|
if len(b) != MessageInitiationSize {
|
||||||
return errMessageTooShort
|
return errMessageLengthMismatch
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.Type = binary.LittleEndian.Uint32(b)
|
msg.Type = binary.LittleEndian.Uint32(b)
|
||||||
@ -135,8 +135,8 @@ func (msg *MessageInitiation) unmarshal(b []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (msg *MessageResponse) unmarshal(b []byte) error {
|
func (msg *MessageResponse) unmarshal(b []byte) error {
|
||||||
if len(b) < MessageResponseSize {
|
if len(b) != MessageResponseSize {
|
||||||
return errMessageTooShort
|
return errMessageLengthMismatch
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.Type = binary.LittleEndian.Uint32(b)
|
msg.Type = binary.LittleEndian.Uint32(b)
|
||||||
@ -151,8 +151,8 @@ func (msg *MessageResponse) unmarshal(b []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (msg *MessageCookieReply) unmarshal(b []byte) error {
|
func (msg *MessageCookieReply) unmarshal(b []byte) error {
|
||||||
if len(b) < MessageCookieReplySize {
|
if len(b) != MessageCookieReplySize {
|
||||||
return errMessageTooShort
|
return errMessageLengthMismatch
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.Type = binary.LittleEndian.Uint32(b)
|
msg.Type = binary.LittleEndian.Uint32(b)
|
||||||
|
Loading…
Reference in New Issue
Block a user