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>

Reply via email to