Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Converse <aconverse@google.com>2011-04-09 01:35:17 +0400
committerAlex Converse <alex.converse@gmail.com>2011-04-10 04:32:09 +0400
commit347b375a80afbb27c887a243097c09370cb95d19 (patch)
treeb80a001f86f65003698c37bceee5b3ee39673063 /libavformat/daud.c
parentcf39b461d31a213261cb7dab21e8aeb0bb1673d5 (diff)
daud: Don't write packets that are too large to have their size expressed in the bytestream.
Diffstat (limited to 'libavformat/daud.c')
-rw-r--r--libavformat/daud.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/daud.c b/libavformat/daud.c
index ca9be27905..1b3cfcf2d9 100644
--- a/libavformat/daud.c
+++ b/libavformat/daud.c
@@ -57,6 +57,11 @@ static int daud_write_header(struct AVFormatContext *s)
static int daud_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
+ if (pkt->size > 65535) {
+ av_log(s, AV_LOG_ERROR,
+ "Packet size too large for s302m. (%d > 65535)\n", pkt->size);
+ return -1;
+ }
avio_wb16(s->pb, pkt->size);
avio_wb16(s->pb, 0x8010); // unknown
avio_write(s->pb, pkt->data, pkt->size);