From: Mark Spencer Date: Tue, 31 Aug 2004 05:09:20 +0000 (+0000) Subject: Be sure we still check for proper buffer length X-Git-Tag: 1.0.0~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6749f1b8b5ad2a9ba4bde209f401e4c747d5ea53;p=thirdparty%2Fasterisk.git Be sure we still check for proper buffer length git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3685 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/rtp.c b/rtp.c index 02b30bc6fd..44680683e7 100755 --- a/rtp.c +++ b/rtp.c @@ -452,6 +452,11 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp) hdrlen += (rtpheader[3] & 0xffff) << 2; } + if (res < hdrlen) { + ast_log(LOG_WARNING, "RTP Read too short (%d, expecting %d)\n", res, hdrlen); + return &null_frame; + } + #if 0 printf("Got RTP packet from %s:%d (type %d, seq %d, ts %d, len = %d)\n", ast_inet_ntoa(iabuf, sizeof(iabuf), sin.sin_addr), ntohs(sin.sin_port), payloadtype, seqno, timestamp,res - hdrlen); #endif