diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-09-07 07:43:13 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-09-07 07:43:13 +0000 |
commit | cc6d4341e65ef2e8d8488fe0ac0f236ece0dd844 (patch) | |
tree | 9a796ca338dc0d473a794425f83ea119a2f7d8a0 /epan/dissectors/packet-csn1.c | |
parent | ef3bcb9c84742d4db91837d01fa0cc4215816a4b (diff) |
From Mike Morrin:
Interface based on header type rather than MCS.
passes in the header type for EGPRS packets.
This makes sense because in a real protocol stack, the header type is encoded
in the burst stealing bits, allowing the header can be decoded, giving the CPS
IE, which then allows the data blocks to be decoded, so wireshark now follows
the same practice.
I found that there was a (previously overlooked) alignment error in decoding
the last octet of some headers due to the last "octet" having less than 8 bits,
and both the protocol stacks I have here assume that the left-hand bits are
missing (as per the figures in 44.060). I corrected this by making a small
extension to the NULL encoding in packet-csn.[ch] to allow a NULL field to
consume more than 0 bits.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7615
svn path=/trunk/; revision=44805
Diffstat (limited to 'epan/dissectors/packet-csn1.c')
-rw-r--r-- | epan/dissectors/packet-csn1.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/epan/dissectors/packet-csn1.c b/epan/dissectors/packet-csn1.c index 0d76282a90..f9923f558b 100644 --- a/epan/dissectors/packet-csn1.c +++ b/epan/dissectors/packet-csn1.c @@ -222,6 +222,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t case CSN_NULL: { /* Empty member! */ + bit_offset += pDescr->i; pDescr++; break; } @@ -776,6 +777,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t case CSN_NULL: { /* Empty member! */ + bit_offset += pDescr->i; pDescr++; break; } |