From 1f950da7518475dbc4aaa7eb89d5e032f2a0ec26 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 10 Aug 2019 14:57:13 +0700 Subject: [PATCH] fix calculation of the length of retransmitted STREAM frames --- packet_packer.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packet_packer.go b/packet_packer.go index e86d6b8a3..9c3a80da6 100644 --- a/packet_packer.go +++ b/packet_packer.go @@ -295,7 +295,9 @@ func (p *packetPacker) PackRetransmission(packet *ackhandler.Packet) ([]*packedP frames = append(frames, frameToAdd) } if sf, ok := frames[len(frames)-1].(*wire.StreamFrame); ok { + sfLen := sf.Length(p.version) sf.DataLenPresent = false + length += sf.Length(p.version) - sfLen } p, err := p.writeAndSealPacket(hdr, payload{frames: frames, length: length}, packet.EncryptionLevel, sealer) if err != nil {