Ronald S. Bultje <[email protected]> added the comment: Valgrind suggests something else. First error:
==70074== Invalid write of size 4 ==70074== at 0x2F285D: ff_rdft_init (in ./ffplay) ==70074== Address 0x13f6ee28 is 8 bytes after a block of size 80 alloc'd ==70074== at 0xB5042A: memalign (vg_replace_malloc.c:532) ==70074== by 0xB50475: posix_memalign (vg_replace_malloc.c:660) ==70074== by 0x4B2510: av_malloc (in ./ffplay) Indeed, that code writes into a struct RDFTContext, sizeof() which is 80, at position 0x58 (i.e. 88-92): 0x002f2856 <ff_rdft_init+326>: inc %esi 0x002f2857 <ff_rdft_init+327>: cmp 0x20(%esp),%esi 0x002f285b <ff_rdft_init+331>: jne 0x2f2830 <ff_rdft_init+288> 0x002f285d <ff_rdft_init+333>: movl $0x2f2870,0x58(%ebp) 0x002f2864 <ff_rdft_init+340>: xor %eax,%eax 0x002f2866 <ff_rdft_init+342>: jmp 0x2f2793 <ff_rdft_init+131> I have absolutely no idea what this means but something seems miscompiled? ________________________________________________ FFmpeg issue tracker <[email protected]> <https://roundup.ffmpeg.org/issue2082> ________________________________________________
