#3387: Out of bound memory accesses with png encoder (and possibly crashes)
---------------------------------+--------------------------------------
Reporter: gjdfgh | Type: defect
Status: new | Priority: important
Component: avcodec | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
---------------------------------+--------------------------------------
Summary of the bug:
How to reproduce:
{{{
% ffmpeg -i in.mkv -pred 5 -compression_level 7 out%03d.png
}}}
This results in out of bound accesses as reported by valgrind:
{{{
==6850== Invalid read of size 8
==6850== at 0x86E352D: diff_bytes_mmx (dsputilenc_mmx.c:667)
==6850== by 0x8570D4C: png_filter_row.isra.0 (pngenc.c:126)
==6850== by 0x8570DFB: png_choose_filter (pngenc.c:170)
==6850== by 0x8571306: encode_frame (pngenc.c:393)
==6850== by 0x86159C3: avcodec_encode_video2 (utils.c:1890)
==6850== by 0x8778CDA: worker (frame_thread_encoder.c:93)
==6850== by 0x470DCF0: start_thread (pthread_create.c:311)
==6850== by 0x4811C3D: clone (clone.S:131)
==6850== Address 0xc62205d is 3 bytes before a block of size 2,959,903
alloc'd
==6850== at 0x402AF50: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==6850== by 0x402B07E: posix_memalign (in
/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==6850== by 0x8879EF7: av_malloc (mem.c:94)
==6850== by 0x886B469: av_buffer_allocz (buffer.c:70)
==6850== by 0x886BB40: av_buffer_pool_get (buffer.c:305)
==6850== by 0x861389B: avcodec_default_get_buffer2 (utils.c:677)
==6850== by 0x8614694: ff_get_buffer (utils.c:973)
==6850== by 0x877935A: ff_thread_video_encode_frame
(frame_thread_encoder.c:250)
==6850== by 0x8615AE1: avcodec_encode_video2 (utils.c:1873)
==6850== by 0x80D02D4: reap_filters (ffmpeg.c:997)
==6850== by 0x80B70B3: main (ffmpeg.c:3375)
==6850==
}}}
I suspect this is also the cause of mysterious sporadic crashes on OSX
when encoding png reported by some of my users.
Tested with git 89c5de6.
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3387>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
[email protected]
http://avcodec.org/mailman/listinfo/ffmpeg-trac