[FFmpeg-trac] #1212(avcodec:open): Invalid memory access with lead h263 and lowres (was: ffplay: crash with lead h263 and lowres)
FFmpeg
trac at avcodec.org
Sat Jun 2 20:59:55 CEST 2012
#1212: Invalid memory access with lead h263 and lowres
-------------------------------------+-----------------------------------
Reporter: ami_stuff | Owner:
Type: defect | Status: open
Priority: important | Component: avcodec
Version: git-master | Resolution:
Keywords: lowres h263 | Blocked By:
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
-------------------------------------+-----------------------------------
Changes (by cehoyos):
* status: new => open
* reproduced: 0 => 1
* component: undetermined => avcodec
* priority: normal => important
* version: unspecified => git-master
Comment:
{{{
$ valgrind ffmpeg_g -lowres 2 -i lead_h263_ehc.avi -f null -
==8022== Memcheck, a memory error detector.
==8022== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==8022== Using LibVEX rev 1732, a library for dynamic binary translation.
==8022== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==8022== Using valgrind-3.2.3, a dynamic binary instrumentation framework.
==8022== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==8022== For more details, rerun with: -v
==8022==
ffmpeg version N-41239-g1bf22c3 Copyright (c) 2000-2012 the FFmpeg
developers
built on Jun 2 2012 20:03:27 with gcc 4.3.2
configuration: --cc=/usr/local/gcc-4.3.2/bin/gcc --enable-gpl --enable-
libopenjpeg --enable-libvorbis --enable-libspeex --enable-libmp3lame
--enable-libtheora --extra-ldflags=-lm --enable-libvpx --enable-libxavs
libavutil 51. 56.100 / 51. 56.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.101 / 54. 6.101
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, avi, from 'lead_h263_ehc.avi':
Duration: 00:00:03.00, start: 0.000000, bitrate: 143 kb/s
Stream #0:0: Video: h263 (L263 / 0x3336324C), yuv420p, 180x120, 1 tbr,
1 tbn, 1 tbc
[buffer @ 0x46872c0] w:180 h:120 pixfmt:yuv420p tb:1/1 sar:0/1
sws_param:flags=2
[buffersink @ 0x4687ea0] No opaque field provided
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf54.6.101
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 180x120,
q=2-31, 200 kb/s, 90k tbn, 1 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h263 -> rawvideo)
Press [q] to stop, [?] for help
==8022== Invalid read of size 4
==8022== at 0x861D0DE: h263_h_loop_filter_mmx (dsputil_mmx.h:99)
==8022== Address 0x47E613E is 137,374 bytes inside a block of size
137,376 alloc'd
==8022== at 0x4021A50: memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x4021AAA: posix_memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x87F167F: av_mallocz (mem.c:95)
==8022==
==8022== Invalid write of size 4
==8022== at 0x861D272: h263_h_loop_filter_mmx (dsputil_mmx.c:747)
==8022== Address 0x47E613E is 137,374 bytes inside a block of size
137,376 alloc'd
==8022== at 0x4021A50: memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x4021AAA: posix_memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x87F167F: av_mallocz (mem.c:95)
==8022==
==8022== Invalid read of size 4
==8022== at 0x861D11B: h263_h_loop_filter_mmx (dsputil_mmx.h:99)
==8022== Address 0x47EAC60 is not stack'd, malloc'd or (recently) free'd
==8022==
==8022== Invalid write of size 4
==8022== at 0x861D281: h263_h_loop_filter_mmx (dsputil_mmx.c:747)
==8022== Address 0x47EAC60 is not stack'd, malloc'd or (recently) free'd
==8022==
==8022== Invalid read of size 4
==8022== at 0x861D118: h263_h_loop_filter_mmx (dsputil_mmx.h:99)
==8022== Address 0x47EAC1E is 19,038 bytes inside a block of size 19,040
alloc'd
==8022== at 0x4021A50: memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x4021AAA: posix_memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x87F15CF: av_malloc (mem.c:95)
==8022==
==8022== Invalid write of size 4
==8022== at 0x861D27D: h263_h_loop_filter_mmx (dsputil_mmx.c:747)
==8022== Address 0x47EAC1E is 19,038 bytes inside a block of size 19,040
alloc'd
==8022== at 0x4021A50: memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x4021AAA: posix_memalign (in
/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==8022== by 0x87F15CF: av_malloc (mem.c:95)
Input stream #0:0 frame changed from size:180x120 fmt:yuv420p to
size:180x60 fmt:yuv420p
[buffer @ 0x47f0f00] w:180 h:60 pixfmt:yuv420p tb:1/1 sar:12/11
sws_param:flags=2
[buffersink @ 0x47f1300] No opaque field provided
[scale @ 0x4737fc0] w:180 h:60 fmt:yuv420p sar:12/11 -> w:180 h:120
fmt:yuv420p sar:24/11 flags:0x4
[null @ 0x4677440] Encoder did not produce proper pts, making some up.
frame= 3 fps=0.0 q=0.0 Lsize= 0kB time=00:00:03.00 bitrate=
0.0kbits/s dup=1 drop=0
video:0kB audio:0kB global headers:0kB muxing overhead nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames
parameters if used)
==8022==
==8022== ERROR SUMMARY: 242 errors from 6 contexts (suppressed: 3 from 1)
==8022== malloc/free: in use at exit: 0 bytes in 0 blocks.
==8022== malloc/free: 1,758 allocs, 1,758 frees, 2,330,409 bytes
allocated.
==8022== For counts of detected errors, rerun with: -v
==8022== All heap blocks were freed -- no leaks are possible.
}}}
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1212#comment:6>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list