From 106ea79337c98fd1f2bda28af6979401cf05d78f Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 4 Nov 2012 12:55:16 +0100 Subject: Fix: Align TLLI to 32 bit margin, before converting it --- src/gprs_rlcmac_data.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gprs_rlcmac_data.cpp b/src/gprs_rlcmac_data.cpp index 8e9f4711..bbfdabdc 100644 --- a/src/gprs_rlcmac_data.cpp +++ b/src/gprs_rlcmac_data.cpp @@ -547,6 +547,7 @@ static int tlli_from_ul_data(uint8_t *data, uint8_t len, uint32_t *tlli) struct rlc_ul_header *rh = (struct rlc_ul_header *)data; struct rlc_li_field *li; uint8_t e; + uint32_t _tlli; if (!rh->ti) return -EINVAL; @@ -575,7 +576,8 @@ static int tlli_from_ul_data(uint8_t *data, uint8_t len, uint32_t *tlli) "border\n"); return -EINVAL; } - *tlli = ntohl(*((uint32_t *)data)); + memcpy(&_tlli, data, 4); + *tlli = ntohl(_tlli); return 0; } -- cgit v1.2.3