From da70fbc898cbf4bd6b128758192aed47848820d5 Mon Sep 17 00:00:00 2001 From: coffeepots Date: Mon, 16 Jul 2018 17:11:56 +0100 Subject: [PATCH] Fix assertion failure on empty byte range --- rlp.nim | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rlp.nim b/rlp.nim index 173f35d..499b6b2 100644 --- a/rlp.nim +++ b/rlp.nim @@ -223,13 +223,14 @@ proc toBytes*(self: Rlp): BytesRange = raise newException(RlpTypeMismatch, "Bytes expected, but the source RLP in not a blob") - let - payloadOffset = payloadOffset() - payloadLen = payloadBytesCount() - ibegin = position + payloadOffset - iend = ibegin + payloadLen - 1 + let payloadLen = payloadBytesCount() + if payloadLen > 0: + let + payloadOffset = payloadOffset() + ibegin = position + payloadOffset + iend = ibegin + payloadLen - 1 - result = bytes.slice(ibegin, iend) + result = bytes.slice(ibegin, iend) proc currentElemEnd(self: Rlp): int = assert hasData()