Calling put_ebml_binary() with sizeof(private) as argument is currently
only valid for Equirectangular projections.

Signed-off-by: James Almer <jamr...@gmail.com>
---
Please, be more careful when making cosmetic changes to make sure they
don't also change how the code works.
Not only this was writing invalid Cubemap files, but also dumping
uninitialized data from stack in them.

 libavformat/matroskaenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 34d983324..f6dade751 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -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, 12);
         break;
     default:
         av_log(s, AV_LOG_WARNING, "Unknown projection type\n");
-- 
2.12.1

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to