aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2016-01-13 15:55:01 +0100
committerJacob Erlbeck <jerlbeck@sysmocom.de>2016-02-05 18:27:10 +0100
commitc2141c6064ddf5283937c7f77468bf2396787804 (patch)
tree8a0a9b762aec6a1c48357aa36f457c1d4c09e6c5
parent70955c765cbd7d58f8e9fec134becfd53ea395e1 (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.h2
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;