enhancementhelp wanted
Repository metrics
- Stars
- (359 stars)
- PR merge metrics
- (PR metrics pending)
Description
When running the following code with the latest version of asn1crypto on the attached input in an unexpected IndexError exception:
import sys
from asn1crypto.core import Sequence
with open(sys.argv[1], 'rb') as f:
data = f.read()
parsed = Sequence.load(data)
parsed.copy() # force parsing
parsed.dump(force=True)
$ python3 asn2crypto_repro.py testcase.txt
Traceback (most recent call last):
File "asn2crypto_repro.py", line 6, in <module>
parsed = Sequence.load(data)
File "/home/user/.local/lib/python3.8/site-packages/asn1crypto/core.py", line 230, in load
value, _ = _parse_build(encoded_data, spec=spec, spec_params=kwargs, strict=strict)
File "/home/user/.local/lib/python3.8/site-packages/asn1crypto/core.py", line 5668, in _parse_build
info, new_pointer = _parse(encoded_data, encoded_len, pointer)
File "/home/user/.local/lib/python3.8/site-packages/asn1crypto/parser.py", line 175, in _parse
num = ord(encoded_data[pointer]) if _PY2 else encoded_data[pointer]
IndexError: index out of range