We already allocate the internal extradata buffer with initialized padding in flv_queue_extradata, but when copied into side data (which is allocated by av_packet_new_side_data, which does allocate the padding but doesn't initialize it), we forgot to initialize the padding there. --- libavformat/flvdec.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 81a71d39f4..23d320900b 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -989,6 +989,10 @@ skip: if (side) { memcpy(side, flv->new_extradata[is_audio], flv->new_extradata_size[is_audio]); + // av_packet_new_side_data allocates space for padding but doesn't + // initialize it. + memset(side + flv->new_extradata_size[is_audio], 0, + AV_INPUT_BUFFER_PADDING_SIZE); av_freep(&flv->new_extradata[is_audio]); flv->new_extradata_size[is_audio] = 0; } -- 2.14.3 (Apple Git-98) _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel