diff options
author | Jan Pipek <jan.pipek@gmail.com> | 2019-09-10 12:43:46 +0200 |
---|---|---|
committer | Jan Pipek <jan.pipek@gmail.com> | 2019-09-10 12:43:46 +0200 |
commit | 545b1b42cefab351e37c769e79d7516e5935cd9b (patch) | |
tree | a787b8164b0ec00e4f2c7cfdfa09276f669d48e6 | |
parent | 0758362ca777039bf6a2d033cf665944f46e3c9a (diff) | |
download | pyasn1-git-545b1b42cefab351e37c769e79d7516e5935cd9b.tar.gz |
Fail with unseekable streams.
-rw-r--r-- | pyasn1/codec/ber/decoder.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/pyasn1/codec/ber/decoder.py b/pyasn1/codec/ber/decoder.py index bbca7f5..62f5616 100644 --- a/pyasn1/codec/ber/decoder.py +++ b/pyasn1/codec/ber/decoder.py @@ -46,13 +46,13 @@ def asSeekableStream(substrate): try: if _PY2 and isinstance(substrate, file): return BytesIO(substrate.read()) # Not optimal for really large files - elif not substrate.seekable(): - return BufferedReader(substrate, _BUFFER_SIZE) - else: + elif substrate.seekable(): return substrate + else: + # TODO: Implement for non-seekable streams + raise NotImplementedError("Cannot use non-seekable bit stream: " + substrate.__class__.__name__) except AttributeError as f: - print(f) - raise TypeError("Cannot convert " + substrate.__class__.__name__ + " to seekable bit stream.") + raise TypeError("Cannot convert " + substrate.__class__.__name__ + " to a seekable bit stream.") def endOfStream(substrate): |