From 8bb060d8acaf21557b10b824b242a8e62edf010d Mon Sep 17 00:00:00 2001 From: Mark Spencer <markster@digium.com> Date: Tue, 28 Dec 2004 16:45:03 +0000 Subject: [PATCH] Ignore invalid RTP packets (bug #3030) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4570 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- rtp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rtp.c b/rtp.c index e97b8690b1..acf67d081e 100755 --- a/rtp.c +++ b/rtp.c @@ -427,6 +427,7 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) struct sockaddr_in sin; int len; unsigned int seqno; + int version; int payloadtype; int hdrlen = 12; int mark; @@ -477,6 +478,12 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) /* Get fields */ seqno = ntohl(rtpheader[0]); + + /* Check RTP version */ + version = (seqno & 0xC0000000) >> 30; + if (version != 2) + return &null_frame; + payloadtype = (seqno & 0x7f0000) >> 16; mark = seqno & (1 << 23); ext = seqno & (1 << 28); -- GitLab