From 0ca39dcd330dd2325bf369ace7135a4f8e54b0f6 Mon Sep 17 00:00:00 2001 From: Zahary Karadjov Date: Mon, 25 May 2020 03:57:18 +0300 Subject: [PATCH] Quick fix for using withReadableRange with unsafe inputs --- faststreams/inputs.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/faststreams/inputs.nim b/faststreams/inputs.nim index a38420a..b922ac4 100644 --- a/faststreams/inputs.nim +++ b/faststreams/inputs.nim @@ -300,6 +300,7 @@ proc limitReadableRange(s: InputStream, rangeLen: Natural): Natural = let runway = s.span.len if rangeLen > runway: + fsAssert s.buffers != nil return s.buffers.setFauxEof(rangeLen - runway + s.spanEndPos) else: s.span.endAddr = offset(s.span.startAddr, rangeLen) @@ -307,7 +308,7 @@ proc limitReadableRange(s: InputStream, rangeLen: Natural): Natural = s.spanEndPos -= bytesToUnconsume if s.buffers != nil: s.buffers.queue.peekFirst.consumedTo -= bytesToUnconsume - return s.buffers.setFauxEof(s.spanEndPos) + return s.buffers.setFauxEof(s.spanEndPos) template withReadableRange*(sp: InputStream|AsyncInputStream, rangeLen: Natural,