-deinterlace allocates a temporary buffer that is freed immediately after the frame is sent to lavfi, which results in use after free.
Disable direct rendering when -deinterlace is used. CC:[email protected] Bug-id: 479 --- Release only, -deinterlace is already dropped in master --- avconv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/avconv.c b/avconv.c index dd998ab..6544fc6 100644 --- a/avconv.c +++ b/avconv.c @@ -1215,7 +1215,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output) } for (i = 0; i < ist->nb_filters; i++) { - if (ist->st->codec->codec->capabilities & CODEC_CAP_DR1) { + if (ist->st->codec->codec->capabilities & CODEC_CAP_DR1 && !do_deinterlace) { FrameBuffer *buf = decoded_frame->opaque; AVFilterBufferRef *fb = avfilter_get_video_buffer_ref_from_arrays( decoded_frame->data, decoded_frame->linesize, -- 1.7.10.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
