[PATCH] libosmocore[master]: gsm0480: fix: don't overwrite the data of RELEASE_COMPLETE

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 Apr 4 12:32:34 UTC 2018


Review at  https://gerrit.osmocom.org/7631

gsm0480: fix: don't overwrite the data of RELEASE_COMPLETE

According to the 3GPP TS 04.80, table 2.5 'Release complete', a
RELEASE_COMPLETE message may containg optional FACILITY element.

Meanwhile, the 0xff byte is used to indicate that there is no
decoded message (legacy field). Let's avoid overwriting of
a decoded message.

Change-Id: I0c85292222749a48ca0c4b2e93f4fa2d61468c18
---
M src/gsm/gsm0480.c
1 file changed, 6 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/31/7631/1

diff --git a/src/gsm/gsm0480.c b/src/gsm/gsm0480.c
index dd58249..ef02307 100644
--- a/src/gsm/gsm0480.c
+++ b/src/gsm/gsm0480.c
@@ -296,11 +296,15 @@
 	case GSM0480_MTYPE_RELEASE_COMPLETE:
 		LOGP(0, LOGL_DEBUG, "SS Release Complete\n");
 
+		/**
+		 * Indicates that there is no decoded message.
+		 * To be overwriten by the message otherwise.
+		 */
+		req->ussd_text[0] = 0xFF;
+
 		/* Parse optional Cause and/or Facility data */
 		if (len >= 2)
 			rc &= parse_ss_info_elements(&hdr->data[0], len, req);
-
-		req->ussd_text[0] = 0xFF;
 		break;
 	case GSM0480_MTYPE_REGISTER:
 		rc &= parse_ss_info_elements(&hdr->data[0], len, req);

-- 
To view, visit https://gerrit.osmocom.org/7631
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0c85292222749a48ca0c4b2e93f4fa2d61468c18
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