X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=505f3baafac8516084242256bb12f2633f02ace0;hp=df0eb8f2cabaa46430590bf1bbeeedc231e36d66;hb=bba84f2f3b5fbc860f51cf76f2f504cb2aa8d899;hpb=35c86385b3c8d004e3b5efea7aa2b95e7608309b diff --git a/pyderasn.py b/pyderasn.py index df0eb8f..505f3ba 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -1558,6 +1558,8 @@ def tag_strip(data): raise DecodeError("unfinished tag") if indexbytes(data, i) & 0x80 == 0: break + if i == 1 and indexbytes(data, 1) < 0x1F: + raise DecodeError("unexpected long form") if i > 1 and indexbytes(data, 1) & 0x7F == 0: raise DecodeError("leading zero byte in tag value") i += 1