[FFmpeg-trac] #1546(avcodec:new): Memleak when decoding broken vorbis sample

FFmpeg trac at avcodec.org
Wed Jul 18 14:32:12 CEST 2012


#1546: Memleak when decoding broken vorbis sample
--------------------------------------+---------------------------------
               Reporter:  cehoyos     |                  Owner:
                   Type:  defect      |                 Status:  new
               Priority:  normal      |              Component:  avcodec
                Version:  git-master  |               Keywords:  vorbis
             Blocked By:              |               Blocking:
Reproduced by developer:  0           |  Analyzed by developer:  0
--------------------------------------+---------------------------------
 (sample from issue 2328)
 {{{
 $ valgrind --leak-check=full ffmpeg_g -i zzuf1.mkv -f null -
 ==22239== Memcheck, a memory error detector.
 ==22239== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
 ==22239== Using LibVEX rev 1732, a library for dynamic binary translation.
 ==22239== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
 ==22239== Using valgrind-3.2.3, a dynamic binary instrumentation
 framework.
 ==22239== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
 ==22239== For more details, rerun with: -v
 ==22239==
 ffmpeg version N-42594-g56ae592 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jul 18 2012 13:22:12 with gcc 4.3.2
   configuration: --cc=/usr/local/gcc-4.3.2/bin/gcc --disable-optimizations
   libavutil      51. 65.100 / 51. 65.100
   libavcodec     54. 41.100 / 54. 41.100
   libavformat    54. 17.100 / 54. 17.100
   libavdevice    54.  1.100 / 54.  1.100
   libavfilter     3.  2.100 /  3.  2.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
 [matroska,webm @ 0x4418640] Unknown entry 0x45A1
 [matroska,webm @ 0x4418640] Skipping invalid tag with no TagName.
 [vorbis @ 0x44310e0] Codebook lookup type not supported.
 [vorbis @ 0x44310e0]  Vorbis setup header packet corrupt (codebooks).
 [vorbis @ 0x44310e0] Setup header corrupt.
 [vorbis @ 0x44310e0] Codebook lookup type not supported.
 [vorbis @ 0x44310e0]  Vorbis setup header packet corrupt (codebooks).
 [vorbis @ 0x44310e0] Setup header corrupt.
 Guessed Channel Layout for  Input Stream #0.0 : stereo
 Input #0, matroska,webm, from 'zzuf1.mkv':
   Metadata:
     ENCODER         : Lavf52.84.0
   Duration: 00:09:35.97, start: 0.000000, bitrate: 1 kb/s
     Stream #0:0: Audio: vorbis, 44100 Hz, stereo, s16 (default)
 [vorbis @ 0x44310e0] Codebook lookup type not supported.
 [vorbis @ 0x44310e0]  Vorbis setup header packet corrupt (codebooks).
 [vorbis @ 0x44310e0] Setup header corrupt.
 Output #0, null, to 'pipe:':
   Metadata:
     ENCODER         : Lavf52.84.0
     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
 (default)
 Stream mapping:
   Stream #0:0 -> #0:0 (vorbis -> pcm_s16le)
 Error while opening decoder for input stream #0:0
 ==22239==
 ==22239== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 1)
 ==22239== malloc/free: in use at exit: 408 bytes in 2 blocks.
 ==22239== malloc/free: 424 allocs, 422 frees, 1,834,812 bytes allocated.
 ==22239== For counts of detected errors, rerun with: -v
 ==22239== searching for pointers to 2 not-freed blocks.
 ==22239== checked 6,279,796 bytes.
 ==22239==
 ==22239== 408 bytes in 2 blocks are definitely lost in loss record 1 of 1
 ==22239==    at 0x4021A50: memalign (in
 /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
 ==22239==    by 0x4021AAA: posix_memalign (in
 /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
 ==22239==    by 0x8854ADB: av_malloc (mem.c:95)
 ==22239==    by 0x85A9A96: avcodec_alloc_frame (utils.c:710)
 ==22239==    by 0x84F07E3: pcm_encode_init (pcm.c:52)
 ==22239==    by 0x85AA8C6: avcodec_open2 (utils.c:977)
 ==22239==    by 0x8055E3A: transcode_init (ffmpeg.c:3178)
 ==22239==    by 0x80572ED: transcode (ffmpeg.c:3594)
 ==22239==    by 0x80609E3: main (ffmpeg.c:6051)
 ==22239==
 ==22239== LEAK SUMMARY:
 ==22239==    definitely lost: 408 bytes in 2 blocks.
 ==22239==      possibly lost: 0 bytes in 0 blocks.
 ==22239==    still reachable: 0 bytes in 0 blocks.
 ==22239==         suppressed: 0 bytes in 0 blocks.
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1546>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list