Wireshark-bugs: [Wireshark-bugs] [Bug 8994] ASTERIX: 2-bytes field value is wrong
Date: Tue, 30 Jul 2013 08:42:52 +0000

Comment # 4 on bug 8994 from
(In reply to comment #3)
> (In reply to comment #2)
> > The value in "Packet bytes" is 0x2000. The field specified and displayed in
> > "Packet details" is defined as masked UINT16 with mask 0x6000.
> 
> The problem here is that this field (and several others I believe) has
> bit_length 2 in the FieldPart definition, which is resolved to 1 byte in
> asterix_build_subtree() where the items are added to the tree.  Wireshark
> will then use 1 byte length when fetching the value and you will get this
> result:
> 
> mask:   0110 0000 0000 0000 (0x6000)
> value:  0000 0000 0010 0000 (0x0020)
> result:  00
> 
> It seems like the code is parsing one byte at the time, which is wrong for
> some fields.

Thanks a lot. I changed all INT16 masked fields which are shorter than 1 byte
to INT8. Now the value is displayed correctly.

Some values are grouped together in two bytes and it would make sense to show
them in 16 bit field. However, it would require to much work and changes. So,
for now they will be displayed in int8 bit fields.


You are receiving this mail because:
  • You are watching all bug changes.