[Haskell-cafe] data.binary get reading beyond end of input bytestring?

Duncan Coutts duncan.coutts at googlemail.com
Thu Jul 29 04:46:23 EDT 2010


On 29 July 2010 07:53, Conrad Parker <conrad at metadecks.org> wrote:

>> Something smells fishy here. I have a hard time believing that binary is
>> reading more input than is available? Could you post more code please?
>
> The issue seems to just be the return value for "bytes consumed" from
> getLazyByteString. Here's a small example.

http://hackage.haskell.org/packages/archive/binary/0.5.0.2/doc/html/Data-Binary-Get.html#v%3AgetLazyByteString

getLazyByteString :: Int64 -> Get ByteString
An efficient get method for lazy ByteStrings. Does not fail if fewer
than n bytes are left in the input.


Because it does it lazily it cannot check if it's gone past the end of
the input. Arguably this is crazy and the function should not exist.

Duncan


More information about the Haskell-Cafe mailing list