]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
ignore invalid rtp packets (bug #3030)
authorRussell Bryant <russell@russellbryant.com>
Thu, 30 Dec 2004 19:34:47 +0000 (19:34 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 30 Dec 2004 19:34:47 +0000 (19:34 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4606 65c4cc65-6c06-0410-ace0-fbb531ad65f3

rtp.c

diff --git a/rtp.c b/rtp.c
index 3d60c3abb49125b5123f604c099799a5b97f6e3d..69685da686deb1ee396be742c7c9b59eadfd840e 100755 (executable)
--- 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);