diff --git a/src/preserves.nim b/src/preserves.nim index fa95064..6df4210 100644 --- a/src/preserves.nim +++ b/src/preserves.nim @@ -678,7 +678,7 @@ proc newBufferedDecoder*(maxSize = 4096): BufferedDecoder = BufferedDecoder(stream: newStringStream(), maxSize: maxSize) proc feed*(dec: var BufferedDecoder; buf: pointer; len: int) = - if dec.maxSize < (dec.stream.getPosition + len): + if dec.maxSize > 0 and dec.maxSize < (dec.stream.getPosition + len): raise newException(IOError, "BufferedDecoder at maximum buffer size") dec.stream.writeData(buf, len)