Index: net/quic/quic_sent_packet_manager.cc |
diff --git a/net/quic/quic_sent_packet_manager.cc b/net/quic/quic_sent_packet_manager.cc |
index c7a5663f0eea7cddbe7b3acfd63cb5102c5f8339..65c0254434c4e93e0e6eb2a9a726c2e68a4a2a31 100644 |
--- a/net/quic/quic_sent_packet_manager.cc |
+++ b/net/quic/quic_sent_packet_manager.cc |
@@ -255,6 +255,13 @@ void QuicSentPacketManager::ClearPreviousRetransmissions(size_t num_to_clear) { |
SequenceNumberSet* previous_transmissions = |
it->second.previous_transmissions; |
if (previous_transmissions == NULL) { |
+ if (it->second.retransmittable_frames == NULL) { |
+ // This is a current transmission, but a previous transmission has |
+ // been acked, so it's safe to remove. |
+ it = MarkPacketHandled(sequence_number, NOT_RECEIVED_BY_PEER); |
+ --num_to_clear; |
+ continue; |
+ } |
break; |
} |
QuicPacketSequenceNumber newest_transmission = |