[PATCH] libosmocore[master]: gsm0480: pass exact GSM 04.80 payload length to parse_ss()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Wed Jan 17 06:46:36 UTC 2018


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 <axilirator at gmail.com>



More information about the gerrit-log mailing list