diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-01-13 15:55:01 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-05 18:27:10 +0100 |
commit | c2141c6064ddf5283937c7f77468bf2396787804 (patch) | |
tree | 8a0a9b762aec6a1c48357aa36f457c1d4c09e6c5 | |
parent | 70955c765cbd7d58f8e9fec134becfd53ea395e1 (diff) |
edge: Workaround to fix decoding of EGPRS_AckNack_w_len_t
The presence of the LENGTH field adds an additional offset which
breaks the related M_SERIALIZE in gsm_rlcmac.cpp. In that case,
the Desc in EGPRS_AckNack_t is being cast to EGPRS_AckNack_w_len_t
and then ((EGPRS_AckNack_w_len_t *)Desc)->Desc is filled with the
parsed data, which is a platform dependant number of bytes apart the
real Desc struct.
Remove LENGTH field from EGPRS_AckNack_w_len_t so that the Desc field
is the first field.
Note that this is not a real fix. The rlcmac wireshark dissector
still has the same declaration but doesn't seem to suffer from this
problem.
Sponsored-by: On-Waves ehf
-rw-r--r-- | src/gsm_rlcmac.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h index 017b3112..49c596dc 100644 --- a/src/gsm_rlcmac.h +++ b/src/gsm_rlcmac.h @@ -476,7 +476,7 @@ typedef struct typedef struct { - guint8 LENGTH; + /* guint8 LENGTH; */ EGPRS_AckNack_Desc_t Desc; } EGPRS_AckNack_w_len_t; |