On 06/04/2017 22:45, James Almer wrote:
> Calling put_ebml_binary() with sizeof(private) as argument is currently
> only valid for Equirectangular projections.
> 
> Signed-off-by: James Almer <[email protected]>
> ---
> 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");
> 

Probably would be safer to use avio_tell() in both cases?

lu
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to