[FFmpeg-trac] #3383(avfilter:new): invalid read in compand filter

FFmpeg trac at avcodec.org
Fri Feb 14 10:11:38 CET 2014


#3383: invalid read in compand filter
--------------------------------------+----------------------------------
               Reporter:  ubitux      |                  Owner:
                   Type:  defect      |                 Status:  new
               Priority:  normal      |              Component:  avfilter
                Version:  git-master  |               Keywords:  campand
             Blocked By:              |               Blocking:
Reproduced by developer:  1           |  Analyzed by developer:  0
--------------------------------------+----------------------------------
 {{{
 ☭ valgrind ./ffmpeg_g -i ~/samples/danse1.ogg -af
 compand="0.1:0.2:-2/-2:0.02:0.8:0.0:0.2" -f null -
 ==2125== Memcheck, a memory error detector
 ==2125== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
 ==2125== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
 ==2125== Command: ./ffmpeg_g -i /home/ux/samples/danse1.ogg -af
 compand=0.1:0.2:-2/-2:0.02:0.8:0.0:0.2 -f null -
 ==2125==
 ffmpeg version N-60597-g1e5cb42 Copyright (c) 2000-2014 the FFmpeg
 developers
   built on Feb 14 2014 10:06:45 with gcc 4.8.2 (GCC) 20140206 (prerelease)
   configuration: --enable-nonfree --enable-gpl --enable-libx264 --enable-
 libmp3lame --enable-x11grab --enable-libvorbis --samples=/home/ux/fate-
 samples --enable-libvpx --cpu=native --enable-libfaac --cc='ccache cc'
   libavutil      52. 63.101 / 52. 63.101
   libavcodec     55. 52.101 / 55. 52.101
   libavformat    55. 32.101 / 55. 32.101
   libavdevice    55.  9.101 / 55.  9.101
   libavfilter     4.  1.102 /  4.  1.102
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
 Input #0, ogg, from '/home/ux/samples/danse1.ogg':
   Duration: 00:00:05.08, start: 0.000000, bitrate: 138 kb/s
     Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 160 kb/s
     Metadata:
       GENRE           : Classical
       DATE            : 2008-02-08T22:50
       ALBUM           : Danse Macabre
       TITLE           : Danse Macabre
       BPM (BEATS PER MINUTE): 185
       COMPOSER        : Camille Saint-Saëns
       INITIAL KEY     : C
       SOFTWARE        : Logic Pro 8.0.2
       ARTIST          : Kevin MacLeod
       COMMENTS        : null
       ENCODER         : Lavf55.4.0
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf55.32.101
     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
     Metadata:
       GENRE           : Classical
       DATE            : 2008-02-08T22:50
       ALBUM           : Danse Macabre
       TITLE           : Danse Macabre
       BPM (BEATS PER MINUTE): 185
       COMPOSER        : Camille Saint-Saëns
       INITIAL KEY     : C
       SOFTWARE        : Logic Pro 8.0.2
       ARTIST          : Kevin MacLeod
       COMMENTS        : null
       ENCODER         : Lavf55.4.0
 Stream mapping:
   Stream #0:0 -> #0:0 (vorbis -> pcm_s16le)
 Press [q] to stop, [?] for help
 ==2125== Invalid read of size 8
 ==2125==    at 0x4E69C3: compand_delay (af_compand.c:164)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x4E0230: filter_frame (af_aresample.c:215)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x492F91: request_frame (buffersrc.c:500)
 ==2125==    by 0x492CB7: av_buffersrc_add_frame_internal (buffersrc.c:181)
 ==2125==    by 0x4931BC: av_buffersrc_add_frame_flags (buffersrc.c:106)
 ==2125==    by 0x47EBF5: decode_audio (ffmpeg.c:1718)
 ==2125==    by 0x468569: main (ffmpeg.c:1958)
 ==2125==  Address 0x92444e0 is 0 bytes after a block of size 320 alloc'd
 ==2125==    at 0x4C2ACC0: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0x4C2ADD7: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0xBDEF9F: av_mallocz (mem.c:94)
 ==2125==    by 0x4E5F0E: config_output (mem.h:232)
 ==2125==    by 0x48CC48: avfilter_config_links (avfilter.c:254)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x490C44: avfilter_graph_config (avfiltergraph.c:276)
 ==2125==    by 0x477E83: configure_filtergraph (ffmpeg_filter.c:901)
 ==2125==    by 0x4801FB: transcode_init (ffmpeg.c:2484)
 ==2125==    by 0x46606C: main (ffmpeg.c:3389)
 ==2125==
 ==2125== Invalid read of size 8
 ==2125==    at 0x4E69E1: compand_delay (af_compand.c:169)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x4E0230: filter_frame (af_aresample.c:215)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x492F91: request_frame (buffersrc.c:500)
 ==2125==    by 0x492CB7: av_buffersrc_add_frame_internal (buffersrc.c:181)
 ==2125==    by 0x4931BC: av_buffersrc_add_frame_flags (buffersrc.c:106)
 ==2125==    by 0x47EBF5: decode_audio (ffmpeg.c:1718)
 ==2125==    by 0x468569: main (ffmpeg.c:1958)
 ==2125==  Address 0x9244610 is 16 bytes before a block of size 141,312
 alloc'd
 ==2125==    at 0x4C2ACC0: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0x4C2ADD7: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0xBDECB9: av_malloc (mem.c:94)
 ==2125==    by 0xBEB94D: av_samples_alloc_array_and_samples
 (samplefmt.c:192)
 ==2125==    by 0x4E675A: config_output (af_compand.c:454)
 ==2125==    by 0x48CC48: avfilter_config_links (avfilter.c:254)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x490C44: avfilter_graph_config (avfiltergraph.c:276)
 ==2125==    by 0x477E83: configure_filtergraph (ffmpeg_filter.c:901)
 ==2125==    by 0x4801FB: transcode_init (ffmpeg.c:2484)
 ==2125==    by 0x46606C: main (ffmpeg.c:3389)
 ==2125==
 ==2125== Invalid read of size 8
 ==2125==    at 0x4E69EA: compand_delay (af_compand.c:168)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x4E0230: filter_frame (af_aresample.c:215)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x492F91: request_frame (buffersrc.c:500)
 ==2125==    by 0x492CB7: av_buffersrc_add_frame_internal (buffersrc.c:181)
 ==2125==    by 0x4931BC: av_buffersrc_add_frame_flags (buffersrc.c:106)
 ==2125==    by 0x47EBF5: decode_audio (ffmpeg.c:1718)
 ==2125==    by 0x468569: main (ffmpeg.c:1958)
 ==2125==  Address 0x9244600 is not stack'd, malloc'd or (recently) free'd
 ==2125==
 ==2125== Invalid read of size 8
 ==2125==    at 0x4E6A02: compand_delay (af_compand.c:169)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x4E0230: filter_frame (af_aresample.c:215)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x492F91: request_frame (buffersrc.c:500)
 ==2125==    by 0x492CB7: av_buffersrc_add_frame_internal (buffersrc.c:181)
 ==2125==    by 0x4931BC: av_buffersrc_add_frame_flags (buffersrc.c:106)
 ==2125==    by 0x47EBF5: decode_audio (ffmpeg.c:1718)
 ==2125==    by 0x468569: main (ffmpeg.c:1958)
 ==2125==  Address 0x9244618 is 8 bytes before a block of size 141,312
 alloc'd
 ==2125==    at 0x4C2ACC0: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0x4C2ADD7: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0xBDECB9: av_malloc (mem.c:94)
 ==2125==    by 0xBEB94D: av_samples_alloc_array_and_samples
 (samplefmt.c:192)
 ==2125==    by 0x4E675A: config_output (af_compand.c:454)
 ==2125==    by 0x48CC48: avfilter_config_links (avfilter.c:254)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x490C44: avfilter_graph_config (avfiltergraph.c:276)
 ==2125==    by 0x477E83: configure_filtergraph (ffmpeg_filter.c:901)
 ==2125==    by 0x4801FB: transcode_init (ffmpeg.c:2484)
 ==2125==    by 0x46606C: main (ffmpeg.c:3389)
 ==2125==
 ==2125== Invalid read of size 8
 ==2125==    at 0x4E6A0B: compand_delay (af_compand.c:169)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x4E0230: filter_frame (af_aresample.c:215)
 ==2125==    by 0x48D99D: ff_filter_frame_framed (avfilter.c:1081)
 ==2125==    by 0x48E818: ff_filter_frame (avfilter.c:1161)
 ==2125==    by 0x492F91: request_frame (buffersrc.c:500)
 ==2125==    by 0x492CB7: av_buffersrc_add_frame_internal (buffersrc.c:181)
 ==2125==    by 0x4931BC: av_buffersrc_add_frame_flags (buffersrc.c:106)
 ==2125==    by 0x47EBF5: decode_audio (ffmpeg.c:1718)
 ==2125==    by 0x468569: main (ffmpeg.c:1958)
 ==2125==  Address 0x9244608 is 24 bytes before a block of size 141,312
 alloc'd
 ==2125==    at 0x4C2ACC0: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0x4C2ADD7: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==2125==    by 0xBDECB9: av_malloc (mem.c:94)
 ==2125==    by 0xBEB94D: av_samples_alloc_array_and_samples
 (samplefmt.c:192)
 ==2125==    by 0x4E675A: config_output (af_compand.c:454)
 ==2125==    by 0x48CC48: avfilter_config_links (avfilter.c:254)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x48CC2E: avfilter_config_links (avfilter.c:243)
 ==2125==    by 0x490C44: avfilter_graph_config (avfiltergraph.c:276)
 ==2125==    by 0x477E83: configure_filtergraph (ffmpeg_filter.c:901)
 ==2125==    by 0x4801FB: transcode_init (ffmpeg.c:2484)
 ==2125==    by 0x46606C: main (ffmpeg.c:3389)
 ==2125==
 size=N/A time=00:00:05.08 bitrate=N/A
 video:0kB audio:876kB subtitle:0 data:0 global headers:0kB muxing overhead
 -100.002453%
 ==2125==
 ==2125== HEAP SUMMARY:
 ==2125==     in use at exit: 80 bytes in 2 blocks
 ==2125==   total heap usage: 8,298 allocs, 8,296 frees, 12,382,131 bytes
 allocated
 ==2125==
 ==2125== LEAK SUMMARY:
 ==2125==    definitely lost: 0 bytes in 0 blocks
 ==2125==    indirectly lost: 0 bytes in 0 blocks
 ==2125==      possibly lost: 0 bytes in 0 blocks
 ==2125==    still reachable: 80 bytes in 2 blocks
 ==2125==         suppressed: 0 bytes in 0 blocks
 ==2125== Rerun with --leak-check=full to see details of leaked memory
 ==2125==
 ==2125== For counts of detected and suppressed errors, rerun with: -v
 ==2125== ERROR SUMMARY: 48 errors from 5 contexts (suppressed: 3 from 3)
 }}}

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


More information about the FFmpeg-trac mailing list