From 209bc3897434650d341e11cb76d5247cc4ce83f2 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Wed, 19 Jul 2023 10:26:27 +0200 Subject: [PATCH] ASCI: Add missing check for return value of gsm0808_enc_speech_codec_list2() Fixes: CID#318987 Change-Id: I771b8ee8dfe1588d0af1c4957489f723447a7054 --- src/gsm/gsm0808.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 6ba6ef2a0..529dbdfe9 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.