From: Russell Bryant Date: Thu, 30 Dec 2004 19:34:47 +0000 (+0000) Subject: ignore invalid rtp packets (bug #3030) X-Git-Tag: 1.0.11.1~316 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=379d3a133c96e4757a156194361fa80a33350200;p=thirdparty%2Fasterisk.git ignore invalid rtp packets (bug #3030) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4606 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/rtp.c b/rtp.c index 3d60c3abb4..69685da686 100755 --- a/rtp.c +++ b/rtp.c @@ -406,6 +406,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; @@ -454,6 +455,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);