aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-07-19 10:26:27 +0200
committerlaforge <laforge@osmocom.org>2023-07-26 12:52:30 +0000
commit209bc3897434650d341e11cb76d5247cc4ce83f2 (patch)
treee730ac30fe35a4e44cf4cb4d63523b4b845131cc /src/gsm
parentd0be3909b88095717271631e957d8a4c13089cd1 (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.c10
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, &params->codec_list_bss_supported);
+ if (params->codec_list_present) {
+ if (gsm0808_enc_speech_codec_list2(msg, &params->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.