From d32d59bc977b43031007bb2ab21e232f96d2ebcb Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 7 Apr 2017 11:41:27 +0200 Subject: [PATCH] matroska: Read only the data written in the scratch buffer The private buffer is 20bytes but depending on the type only 12 bytes are actually filled. --- libavformat/matroskaenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 34d983324b..b8c434a664 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -686,7 +686,7 @@ static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb, avio_wb32(&b, spherical->bound_left); avio_wb32(&b, spherical->bound_right); put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, - private, sizeof(private)); + private, avio_tell(&b)); break; case AV_SPHERICAL_CUBEMAP: ffio_init_context(&b, private, 12, 1, NULL, NULL, NULL, NULL); @@ -696,7 +696,7 @@ static int mkv_write_video_projection(AVFormatContext *s, AVIOContext *pb, avio_wb32(&b, 0); // layout avio_wb32(&b, spherical->padding); put_ebml_binary(dyn_cp, MATROSKA_ID_VIDEOPROJECTIONPRIVATE, - private, sizeof(private)); + private, avio_tell(&b)); break; default: av_log(s, AV_LOG_WARNING, "Unknown projection type\n");