From 4898f4205cf98df826f7e4d703e3c652864a42de Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Mon, 10 Jul 2017 21:11:35 +0800 Subject: [PATCH] properly put back the packet buffer when sending a packet fails --- session.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/session.go b/session.go index 299a538b..0569df0c 100644 --- a/session.go +++ b/session.go @@ -678,6 +678,7 @@ func (s *session) sendPacket() error { } func (s *session) sendPackedPacket(packet *packedPacket) error { + defer putPacketBuffer(packet.raw) err := s.sentPacketHandler.SentPacket(&ackhandler.Packet{ PacketNumber: packet.number, Frames: packet.frames, @@ -687,12 +688,8 @@ func (s *session) sendPackedPacket(packet *packedPacket) error { if err != nil { return err } - s.logPacket(packet) - - err = s.conn.Write(packet.raw) - putPacketBuffer(packet.raw) - return err + return s.conn.Write(packet.raw) } func (s *session) sendConnectionClose(quicErr *qerr.QuicError) error {