Browse Source

TT#14008 fix possible segfault

closes #1265

Change-Id: I7f02a9c2d7f7fbdf830018200fab99d9cf4f425c
rfuchs/1283
Richard Fuchs 5 years ago
parent
commit
cc9fb063eb
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      daemon/codec.c

+ 2
- 2
daemon/codec.c View File

@ -3097,7 +3097,7 @@ static int packet_decode(struct codec_ssrc_handler *ch, struct transcode_packet
ch->first_ts = packet->ts; ch->first_ts = packet->ts;
ch->last_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) || 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)) { (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"); 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: out:
if (decoder_ch != ch)
if (decoder_ch && decoder_ch != ch)
obj_put(&decoder_ch->h); obj_put(&decoder_ch->h);
return ret; return ret;
} }


Loading…
Cancel
Save