X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=cd96a33200a1a6a7a801bc29b6aa95ca48b860cf;hp=e6c7fefab199266370c3f420d5469cf17a28a4a7;hb=b30d8ddf17d02cc72acee7a9d6eff9b1ea9e0477;hpb=e0f6420220f67c814d257c59650764a0884f43bc diff --git a/pyderasn.py b/pyderasn.py index e6c7fef..cd96a33 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -3875,7 +3875,10 @@ class Sequence(Obj): ) defined_value, defined_tail = defined_spec.decode( memoryview(bytes(_value)), - sub_offset + value.tlen + value.llen, + sub_offset + ( + (value.tlen + value.llen + value.expl_tlen + value.expl_llen) + if value.expled else (value.tlen + value.llen) + ), leavemm=True, decode_path=sub_sub_decode_path, ctx=ctx, @@ -3891,7 +3894,10 @@ class Sequence(Obj): else: defined_value, defined_tail = defined_spec.decode( memoryview(bytes(value)), - sub_offset + value.tlen + value.llen, + sub_offset + ( + (value.tlen + value.llen + value.expl_tlen + value.expl_llen) + if value.expled else (value.tlen + value.llen) + ), leavemm=True, decode_path=sub_decode_path + (decode_path_defby(defined_by),), ctx=ctx,