mirror of https://gerrit.osmocom.org/libosmocore
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
This commit is contained in:
parent
07f075d197
commit
fb5da89579
|
@ -296,11 +296,15 @@ static int parse_ss(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request
|
||||||
case GSM0480_MTYPE_RELEASE_COMPLETE:
|
case GSM0480_MTYPE_RELEASE_COMPLETE:
|
||||||
LOGP(0, LOGL_DEBUG, "SS Release Complete\n");
|
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 */
|
/* Parse optional Cause and/or Facility data */
|
||||||
if (len >= 2)
|
if (len >= 2)
|
||||||
rc &= parse_ss_info_elements(&hdr->data[0], len, req);
|
rc &= parse_ss_info_elements(&hdr->data[0], len, req);
|
||||||
|
|
||||||
req->ussd_text[0] = 0xFF;
|
|
||||||
break;
|
break;
|
||||||
case GSM0480_MTYPE_REGISTER:
|
case GSM0480_MTYPE_REGISTER:
|
||||||
rc &= parse_ss_info_elements(&hdr->data[0], len, req);
|
rc &= parse_ss_info_elements(&hdr->data[0], len, req);
|
||||||
|
|
Loading…
Reference in New Issue