X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=pyderasn.py;h=df0eb8f2cabaa46430590bf1bbeeedc231e36d66;hb=35c86385b3c8d004e3b5efea7aa2b95e7608309b;hp=bc5358a78cfa4e487efc99dd9db3f714bf0d20ea;hpb=1285a47fd22a99a87354496ade8b392ff874d8b8;p=pyderasn.git diff --git a/pyderasn.py b/pyderasn.py index bc5358a..df0eb8f 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -1201,7 +1201,7 @@ except ImportError: # pragma: no cover def colored(what, *args, **kwargs): return what -__version__ = "7.6" +__version__ = "7.7" __all__ = ( "agg_octet_string", @@ -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) & 0x7F == 0: + raise DecodeError("leading zero byte in tag value") i += 1 return data[:i], i, data[i:] @@ -5874,7 +5876,7 @@ class Any(Obj): def _value_sanitize(self, value): if value.__class__ == binary_type: if len(value) == 0: - raise ValueError("Any value can not be empty") + raise ValueError("%s value can not be empty" % self.__class__.__name__) return value if isinstance(value, self.__class__): return value._value