GSM48: Avoid unaligned access in gsm48_construct_ra
This avoids an unaligned access on platforms that don't support them,
such as ARMv4/ARMv5.
diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c
index fe62dee..ea05d45 100644
--- a/src/gsm/gsm48.c
+++ b/src/gsm/gsm48.c
@@ -416,6 +416,7 @@
{
uint16_t mcc = raid->mcc;
uint16_t mnc = raid->mnc;
+ uint16_t _lac;
buf[0] = ((mcc / 100) % 10) | (((mcc / 10) % 10) << 4);
buf[1] = (mcc % 10);
@@ -430,7 +431,8 @@
buf[2] = ((mnc / 100) % 10) | (((mnc / 10) % 10) << 4);
}
- *(uint16_t *)(buf+3) = htons(raid->lac);
+ _lac = htons(raid->lac);
+ memcpy(buf + 3, &_lac, 2);
buf[5] = raid->rac;