@@ -73,8 +73,8 @@ func newAEAD(
7373
7474// encrypt encrypts a DTLS RecordLayer message.
7575func (a * aead ) encrypt (pkt * recordlayer.RecordLayer , raw []byte ) ([]byte , error ) {
76- payload := raw [pkt .Header .Size ():]
77- raw = raw [:pkt .Header .Size ()]
76+ payload := raw [pkt .Header .MarshalSize ():]
77+ raw = raw [:pkt .Header .MarshalSize ()]
7878
7979 // Get nonce buffer from pool
8080 noncePtr := a .nonceBufferPool .Get ().(* []byte ) // nolint:forcetypeassert
@@ -93,19 +93,20 @@ func (a *aead) encrypt(pkt *recordlayer.RecordLayer, raw []byte) ([]byte, error)
9393 additionalData = generateAEADAdditionalData (& pkt .Header , len (payload ))
9494 }
9595 finalSize := len (raw ) + 8 + len (payload ) + a .tagLength
96- r := make ([]byte , finalSize )
97- copy (r , raw )
98- copy (r [len (raw ):], nonce [4 :])
96+ out := make ([]byte , finalSize )
97+ copy (out , raw )
98+ copy (out [len (raw ):], nonce [4 :])
9999
100- a .localAEAD .Seal (r [len (raw )+ 8 :len (raw )+ 8 ], nonce , payload , additionalData )
100+ a .localAEAD .Seal (out [len (raw )+ 8 :len (raw )+ 8 ], nonce , payload , additionalData )
101101
102102 // Update recordLayer size to include explicit nonce
103- binary .BigEndian .PutUint16 (r [pkt .Header .Size ()- 2 :], uint16 (len (r )- pkt .Header .Size ())) //nolint:gosec //G115
103+ binary .BigEndian .PutUint16 (out [pkt .Header .MarshalSize ()- 2 :],
104+ uint16 (len (out )- pkt .Header .MarshalSize ())) //nolint:gosec //G115
104105
105106 // Return nonce buffer to pool
106107 a .nonceBufferPool .Put (noncePtr )
107108
108- return r , nil
109+ return out , nil
109110}
110111
111112// decrypt decrypts a DTLS RecordLayer message.
@@ -117,7 +118,7 @@ func (a *aead) decrypt(header recordlayer.Header, in []byte) ([]byte, error) {
117118 case header .ContentType == protocol .ContentTypeChangeCipherSpec :
118119 // Nothing to encrypt with ChangeCipherSpec
119120 return in , nil
120- case len (in ) <= (8 + header .Size ()):
121+ case len (in ) <= (8 + header .MarshalSize ()):
121122 return nil , errNotEnoughRoomForNonce
122123 }
123124
@@ -126,8 +127,8 @@ func (a *aead) decrypt(header recordlayer.Header, in []byte) ([]byte, error) {
126127 nonce := * noncePtr
127128
128129 copy (nonce [:4 ], a .remoteWriteIV [:4 ])
129- copy (nonce [4 :], in [header .Size ():header .Size ()+ 8 ])
130- out := in [header .Size ()+ 8 :]
130+ copy (nonce [4 :], in [header .MarshalSize ():header .MarshalSize ()+ 8 ])
131+ out := in [header .MarshalSize ()+ 8 :]
131132
132133 var additionalData []byte
133134 if header .ContentType == protocol .ContentTypeConnectionID {
@@ -146,7 +147,7 @@ func (a *aead) decrypt(header recordlayer.Header, in []byte) ([]byte, error) {
146147 // Return nonce buffer to pool
147148 a .nonceBufferPool .Put (noncePtr )
148149
149- return append (in [:header .Size ()], out ... ), nil
150+ return append (in [:header .MarshalSize ()], out ... ), nil
150151}
151152
152153func generateAEADAdditionalData (h * recordlayer.Header , payloadLen int ) []byte {
0 commit comments