From cc9fb063eb2aaf30405ebf9e4dd6ce41fb4941b5 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 18 May 2021 10:33:55 -0400 Subject: [PATCH] TT#14008 fix possible segfault closes #1265 Change-Id: I7f02a9c2d7f7fbdf830018200fab99d9cf4f425c --- daemon/codec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daemon/codec.c b/daemon/codec.c index e78703f96..ddb4c8b57 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -3097,7 +3097,7 @@ static int packet_decode(struct codec_ssrc_handler *ch, struct transcode_packet ch->first_ts = packet->ts; ch->last_ts = packet->ts; - if (decoder_ch->dtmf_start_ts && !rtpe_config.dtmf_no_suppress) { + if (decoder_ch && decoder_ch->dtmf_start_ts && !rtpe_config.dtmf_no_suppress) { if ((packet->ts > decoder_ch->dtmf_start_ts && packet->ts - decoder_ch->dtmf_start_ts > 80000) || (packet->ts < decoder_ch->dtmf_start_ts && decoder_ch->dtmf_start_ts - packet->ts > 80000)) { ilogs(transcoding, LOG_DEBUG, "Resetting decoder DTMF state due to TS discrepancy"); @@ -3120,7 +3120,7 @@ static int packet_decode(struct codec_ssrc_handler *ch, struct transcode_packet } out: - if (decoder_ch != ch) + if (decoder_ch && decoder_ch != ch) obj_put(&decoder_ch->h); return ret; }