diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2023-07-19 10:26:27 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2023-07-26 12:52:30 +0000 |
commit | 209bc3897434650d341e11cb76d5247cc4ce83f2 (patch) | |
tree | e730ac30fe35a4e44cf4cb4d63523b4b845131cc /src/gsm | |
parent | d0be3909b88095717271631e957d8a4c13089cd1 (diff) |
ASCI: Add missing check for return value of gsm0808_enc_speech_codec_list2()
Fixes: CID#318987
Change-Id: I771b8ee8dfe1588d0af1c4957489f723447a7054
Diffstat (limited to 'src/gsm')
-rw-r--r-- | src/gsm/gsm0808.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 6ba6ef2a..529dbdfe 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1756,13 +1756,19 @@ struct msgb *gsm0808_create_vgcs_vbs_assign_fail(const struct gsm0808_vgcs_vbs_a msgb_tlv_put(msg, GSM0808_IE_CIRCUIT_POOL_LIST, params->cpl.list_len, params->cpl.pool); /* Codec List (BSS Supported) 3.2.2.103 */ - if (params->codec_list_present) - gsm0808_enc_speech_codec_list2(msg, ¶ms->codec_list_bss_supported); + if (params->codec_list_present) { + if (gsm0808_enc_speech_codec_list2(msg, ¶ms->codec_list_bss_supported) < 0) + goto exit_free; + } /* prepend header with final length */ msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); return msg; + +exit_free: + msgb_free(msg); + return NULL; } /*! Create BSSMAP VGCS/VBS QUEUING INDICATION message, 3GPP TS 48.008 3.2.1.56. |