lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/40653?usp=email )
Change subject: gprs_gmm: fix endianess of GSM48_IE_GMM_PDP_CTX_STATUS ......................................................................
gprs_gmm: fix endianess of GSM48_IE_GMM_PDP_CTX_STATUS
The pdp_status is actually encoded as little endian, but there is no tlvp_val16le. Use osmo_swab16() instead.
Change-Id: Ib9bee2f8d0b1f89986d15cf3ce6404ad76378c8c --- M src/sgsn/gprs_gmm.c 1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/53/40653/1
diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index c34c1a1..fff15e0 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -1975,7 +1975,8 @@ /* Look at PDP Context Status IE and see if MS's view of * activated/deactivated NSAPIs agrees with our view */ if (TLVP_PRESENT(&tp, GSM48_IE_GMM_PDP_CTX_STATUS)) { - uint16_t pdp_status = tlvp_val16be(&tp, GSM48_IE_GMM_PDP_CTX_STATUS); + /* TODO: pdp status is little endian. Create tlvp_val16be */ + uint16_t pdp_status = osmo_swab16(tlvp_val16be(&tp, GSM48_IE_GMM_PDP_CTX_STATUS));
process_ms_ctx_status(ctx, pdp_status);