]> git.ipfire.org Git - thirdparty/asterisk.git/commit
AST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed up.
authorJoshua Colp <jcolp@digium.com>
Sat, 13 Jan 2018 14:04:33 +0000 (14:04 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 21 Feb 2018 14:28:11 +0000 (14:28 +0000)
commitdec428faf31716a92a2ba2305c25dc893dae0a27
treedc296b05c4ea93f96df9ecc65b7eb71fb0ff5a92
parent6285575eac5ecd89ed1290e8124593a7e6a7a23e
AST-2018-001: rtp / channel: Don't allow an unnegotiated format to be passed up.

When an RTP packet is received by an RTP engine it has to map the
payload into the Asterisk format. The code was incorrectly checking
our own static list for ALL payloads if it couldn't find a negotiated one.
This included dynamic payloads. If the payload mapped to a format
of a different type (for example receiving a video packet on an audio
RTP instance) then the core stream code could cause a crash if a legacy
channel driver was in use as no stream would be present.

To provide further protection the core stream code will no longer assume
that a video or audio frame will always have a stream for legacy channel
drivers. If no stream is present the frame is dropped.

ASTERISK-27488

Change-Id: I022556f524ad8379ee73f14037040af17ea3316a
main/channel.c
main/rtp_engine.c