aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-08-30 01:05:58 +0200
committerHarald Welte <laforge@gnumonks.org>2019-09-02 11:07:49 +0200
commit43e8d4d412beba53ea6581fbf17de4d04779d353 (patch)
tree03f53ea33378c87887791fc7bcf51ec1a8c584ee /src
parentbe5f03347578920d7b810e3de499d030377a12c4 (diff)
gsm48_tch_rtp_create(): check against NULL mgcp_info
osmo_mgcpc_ep_ci_get_rtp_info() might return a NULL mgcp_info, guard against that. Fixes: CID#203651 Change-Id: I98fe5860c49751ade1af10d99487aba259504f23
Diffstat (limited to 'src')
-rw-r--r--src/libmsc/gsm_04_08_cc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 1ec33429b..e83caa22f 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -1700,7 +1700,10 @@ int gsm48_tch_rtp_create(struct gsm_trans *trans)
/* Payload Type number */
mgcp_info = osmo_mgcpc_ep_ci_get_rtp_info(rtp_cn->ci);
- payload_type = map_codec_to_pt(mgcp_info->ptmap, mgcp_info->ptmap_len, rtp_cn->codec);
+ if (mgcp_info && mgcp_info->ptmap_len)
+ payload_type = map_codec_to_pt(mgcp_info->ptmap, mgcp_info->ptmap_len, rtp_cn->codec);
+ else
+ payload_type = rtp_cn->codec;
rtp_cn_local = call_leg_local_ip(cl, RTP_TO_CN);
if (!rtp_cn_local) {