summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2010-01-05 11:38:33 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2010-01-05 11:38:33 +0000
commit6a433058f98766ea7198b4e5f62fe20d40919ee4 (patch)
tree1fce9925ca989055d30a8c5e5ec9e60db061d997 /tools
parentbf2aae77840d2cbc0ca154ef3d5cde0600f4b999 (diff)
downloadwireshark-6a433058f98766ea7198b4e5f62fe20d40919ee4.tar.gz
Added check for SIZE constraints in bit-string.
svn path=/trunk/; revision=31447
Diffstat (limited to 'tools')
-rwxr-xr-xtools/asn2wrs.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py
index 314415ce69..3d6e91fe00 100755
--- a/tools/asn2wrs.py
+++ b/tools/asn2wrs.py
@@ -5220,10 +5220,16 @@ class BitStringType (Type):
def eth_type_default_body(self, ectx, tname):
if (ectx.Ber()):
- body = ectx.eth_fn_call('dissect_%(ER)s_bitstring', ret='offset',
- par=(('%(IMPLICIT_TAG)s', '%(ACTX)s', '%(TREE)s', '%(TVB)s', '%(OFFSET)s'),
- ('%(TABLE)s', '%(HF_INDEX)s', '%(ETT_INDEX)s',),
- ('%(VAL_PTR)s',),))
+ if (ectx.constraints_check and self.HasSizeConstraint()):
+ body = ectx.eth_fn_call('dissect_%(ER)s_constrained_bitstring', ret='offset',
+ par=(('%(IMPLICIT_TAG)s', '%(ACTX)s', '%(TREE)s', '%(TVB)s', '%(OFFSET)s'),
+ ('%(MIN_VAL)s', '%(MAX_VAL)s', '%(TABLE)s', '%(HF_INDEX)s', '%(ETT_INDEX)s',),
+ ('%(VAL_PTR)s',),))
+ else:
+ body = ectx.eth_fn_call('dissect_%(ER)s_bitstring', ret='offset',
+ par=(('%(IMPLICIT_TAG)s', '%(ACTX)s', '%(TREE)s', '%(TVB)s', '%(OFFSET)s'),
+ ('%(TABLE)s', '%(HF_INDEX)s', '%(ETT_INDEX)s',),
+ ('%(VAL_PTR)s',),))
elif (ectx.Per()):
if self.HasContentsConstraint():
body = ectx.eth_fn_call('dissect_%(ER)s_bit_string_containing%(FN_VARIANT)s', ret='offset',