Review at https://gerrit.osmocom.org/5835
gsm0480: pass exact GSM 04.80 payload length to parse_ss() Change-Id: I9608d4ad16d7581320615c140beaac36628c31a4 --- M src/gsm/gsm0480.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/5835/1 diff --git a/src/gsm/gsm0480.c b/src/gsm/gsm0480.c index 8319b19..75388b9 100644 --- a/src/gsm/gsm0480.c +++ b/src/gsm/gsm0480.c @@ -232,7 +232,7 @@ req->transaction_id = hdr->proto_discr & 0x70; ss.transaction_id = req->transaction_id; - rc = parse_ss(hdr, len, &ss); + rc = parse_ss(hdr, len - sizeof(*hdr), &ss); /* convert from ss_request to legacy ussd_request */ req->transaction_id = ss.transaction_id; @@ -271,7 +271,7 @@ if (gsm48_hdr_pdisc(hdr) == GSM48_PDISC_NC_SS) { req->transaction_id = hdr->proto_discr & 0x70; - rc = parse_ss(hdr, len, req); + rc = parse_ss(hdr, len - sizeof(*hdr), req); } if (!rc) @@ -293,10 +293,10 @@ req->ussd_text[0] = 0xFF; break; case GSM0480_MTYPE_REGISTER: - rc &= parse_ss_info_elements(&hdr->data[0], len - sizeof(*hdr), req); + rc &= parse_ss_info_elements(&hdr->data[0], len, req); break; case GSM0480_MTYPE_FACILITY: - rc &= parse_ss_facility(&hdr->data[0], len - sizeof(*hdr), req); + rc &= parse_ss_facility(&hdr->data[0], len, req); break; default: LOGP(0, LOGL_DEBUG, "Unknown GSM 04.80 message-type field 0x%02x\n", -- To view, visit https://gerrit.osmocom.org/5835 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9608d4ad16d7581320615c140beaac36628c31a4 Gerrit-PatchSet: 1 Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Owner: Vadim Yanitskiy <axilira...@gmail.com>