[FFmpeg-devel] [PATCH] avformat/rmenc: limit packet size
Clément Bœsch
u at pkh.me
Sat Feb 28 23:35:37 CET 2015
On Sat, Feb 28, 2015 at 11:32:59PM +0100, Andreas Cadhalpun wrote:
> Hi,
>
> the chunk size in rm files is stored in 16 bits, but the packet size can be
> larger, triggering an av_assert2 in avio_w8 (via avio_wb16).
>
> Best regards,
> Andreas
> From 044b4bd4df935b918055c24ae661e9bcc31e425a Mon Sep 17 00:00:00 2001
> From: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> Date: Sat, 28 Feb 2015 23:11:50 +0100
> Subject: [PATCH] avformat/rmenc: limit packet size
>
> The chunk size is limited to 0xFFFF (written by avio_wb16), so make
> sure that the packet size is not too large.
>
> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> ---
> libavformat/rmenc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/libavformat/rmenc.c b/libavformat/rmenc.c
> index 838388f..1567834 100644
> --- a/libavformat/rmenc.c
> +++ b/libavformat/rmenc.c
> @@ -396,6 +396,10 @@ static int rm_write_video(AVFormatContext *s, const uint8_t *buf, int size, int
> /* Well, I spent some time finding the meaning of these bits. I am
> not sure I understood everything, but it works !! */
> #if 1
> + if (size > 0xFFFF - 7 - 4 - 12) {
> + av_log(s, AV_LOG_ERROR, "paket size %d too large\n", size);
> + return AVERROR(EINVAL);
> + }
If anyone applies this, please fix the packet typo.
[...]
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150228/1c4a1e35/attachment.asc>
More information about the ffmpeg-devel
mailing list