From 92c0f81bf488787caf26cc3242b9aa16d9cdb551 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 4 Apr 2020 13:00:39 +0700 Subject: [PATCH 1/2] improve error handling in sentPacketHandler --- internal/ackhandler/sent_packet_handler.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/ackhandler/sent_packet_handler.go b/internal/ackhandler/sent_packet_handler.go index c04e5cbb6..3e8c8e25e 100644 --- a/internal/ackhandler/sent_packet_handler.go +++ b/internal/ackhandler/sent_packet_handler.go @@ -481,7 +481,7 @@ func (h *sentPacketHandler) detectAndRemoveLostPackets(now time.Time, encLevel p lostSendTime := now.Add(-lossDelay) var lostPackets []*Packet - pnSpace.history.Iterate(func(packet *Packet) (bool, error) { + if err := pnSpace.history.Iterate(func(packet *Packet) (bool, error) { if packet.PacketNumber > pnSpace.largestAcked { return false, nil } @@ -505,7 +505,9 @@ func (h *sentPacketHandler) detectAndRemoveLostPackets(now time.Time, encLevel p pnSpace.lossTime = lossTime } return true, nil - }) + }); err != nil { + return nil, err + } if h.logger.Debug() && len(lostPackets) > 0 { pns := make([]protocol.PacketNumber, len(lostPackets)) @@ -521,7 +523,9 @@ func (h *sentPacketHandler) detectAndRemoveLostPackets(now time.Time, encLevel p if p.includedInBytesInFlight { h.bytesInFlight -= p.Length } - pnSpace.history.Remove(p.PacketNumber) + if err := pnSpace.history.Remove(p.PacketNumber); err != nil { + return nil, err + } if h.traceCallback != nil { frames := make([]wire.Frame, 0, len(p.Frames)) for _, f := range p.Frames { From fc9b5905b26b135e1a2c516b1bbbd507ad52db8f Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Sat, 4 Apr 2020 13:00:54 +0700 Subject: [PATCH 2/2] don't run goconst on qlog/ --- .golangci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 19ac1599f..ed4bacf3c 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -27,3 +27,9 @@ linters: - unused - varcheck - vet + +issues: + exclude-rules: + - path: qlog/ + linters: + - goconst