Hi,
increasing the packet size without enlarging the packet buffer can't be
correct...
This seems to be broken since [1].
Best regards,
Andreas
1:
https://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=7340008f18dc7d1557efbf5a331c9452913f7f61
>From c1bc01a84654df6a0e9ec4ea62f95920bfb80e32 Mon Sep 17 00:00:00 2001
From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
Date: Sun, 22 Feb 2015 20:45:19 +0100
Subject: [PATCH 2/4] avcodec/a64multienc: don't set incorrect packet size
This fixes invalid reads of the packet buffer in av_dup_packet.
---
libavcodec/a64multienc.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libavcodec/a64multienc.c b/libavcodec/a64multienc.c
index dfb4414..35080af 100644
--- a/libavcodec/a64multienc.c
+++ b/libavcodec/a64multienc.c
@@ -371,14 +371,12 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
/* advance pointers */
buf += screen_size;
- req_size += screen_size;
/* compress and copy colram to buf */
if (c->mc_use_5col) {
a64_compress_colram(buf, charmap, colram);
/* advance pointers */
buf += colram_size;
- req_size += colram_size;
}
/* advance to next charmap */
@@ -395,7 +393,6 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
pkt->pts = pkt->dts = c->next_pts;
c->next_pts = AV_NOPTS_VALUE;
- pkt->size = req_size;
pkt->flags |= AV_PKT_FLAG_KEY;
*got_packet = !!req_size;
}
--
2.1.4
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel