From f751566f000dc39eb478804ccfff33461b8ecd08 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 19 May 2016 10:55:34 +0700 Subject: [PATCH] don't panic on failed type assertion in PacketPacker related to #93 --- packet_packer.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packet_packer.go b/packet_packer.go index c3e1065f..8750360e 100644 --- a/packet_packer.go +++ b/packet_packer.go @@ -195,7 +195,11 @@ func (p *packetPacker) composeNextPacket(stopWaitingFrame *frames.StopWaitingFra // remove the dataLen for the last StreamFrame in the packet if hasStreamFrames { - payloadFrames[len(payloadFrames)-1].(*frames.StreamFrame).DataLenPresent = false + lastStreamFrame, ok := payloadFrames[len(payloadFrames)-1].(*frames.StreamFrame) + if !ok { + return nil, errors.New("PacketPacker BUG: StreamFrame type assertion failed") + } + lastStreamFrame.DataLenPresent = false // payloadLength -= 2 }