[FFmpeg-trac] #8316(undetermined:new): memory leaks in nut_write_header()

FFmpeg trac at avcodec.org
Sat Oct 19 20:06:54 EEST 2019


#8316: memory leaks in nut_write_header()
-------------------------------------+-------------------------------------
             Reporter:  Suhwan       |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:
 There are memory leaks in nut_write_header()
 How to reproduce:
 {{{
 % ffmpeg_g -y -i $PoC -loglevel 0 -psnr -c pcm_s24daud tmp.nut

 ffmpeg version N-95464-g7056ddc0e0 Copyright (c) 2000-2019 the FFmpeg
 developers
 built with clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
 configuration: --cc=clang --cxx=clang++ --ld=clang --enable-debug
 }}}

 Here's Valgrind log

 {{{
 ==31440== HEAP SUMMARY:
 ==31440==     in use at exit: 1,406 bytes in 7 blocks
 ==31440==   total heap usage: 811 allocs, 804 frees, 2,788,111 bytes
 allocated
 ==31440==
 ==31440== 54 (16 direct, 38 indirect) bytes in 1 blocks are definitely
 lost in loss record 5 of 7
 ==31440==    at 0x9FE3E76: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==31440==    by 0x9FE3F91: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==31440==    by 0x592F079: av_malloc (mem.c:87)
 ==31440==    by 0x592F079: av_mallocz (mem.c:238)
 ==31440==    by 0x58EA3CC: av_dict_set (dict.c:89)
 ==31440==    by 0x45D36E: new_output_stream (ffmpeg_opt.c:1554)
 ==31440==    by 0x455A25: new_audio_stream (ffmpeg_opt.c:1860)
 ==31440==    by 0x4426EB: open_output_file (ffmpeg_opt.c:2237)
 ==31440==    by 0x42DE5E: open_files (ffmpeg_opt.c:3283)
 ==31440==    by 0x42DC06: ffmpeg_parse_options (ffmpeg_opt.c:3337)
 ==31440==    by 0x487BB3: main (ffmpeg.c:4862)
 ==31440==
 ==31440== 1,320 (264 direct, 1,056 indirect) bytes in 1 blocks are
 definitely lost in loss record 7 of 7
 ==31440==    at 0x9FE3E76: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==31440==    by 0x9FE3F91: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==31440==    by 0x592EC7D: av_malloc (mem.c:87)
 ==31440==    by 0x1481181: avio_alloc_context (aviobuf.c:140)
 ==31440==    by 0x1481181: url_open_dyn_buf_internal (aviobuf.c:1419)
 ==31440==    by 0x18751E9: write_headers (nutenc.c:0)
 ==31440==    by 0x186AA42: nut_write_header (nutenc.c:762)
 ==31440==    by 0x17DDC5D: avformat_write_header (mux.c:521)
 ==31440==    by 0x4AB73F: check_init_output_file (ffmpeg.c:2973)
 ==31440==    by 0x4A837E: init_output_stream (ffmpeg.c:3631)
 ==31440==    by 0x4C0005: reap_filters (ffmpeg.c:1442)
 ==31440==    by 0x48D681: transcode_step (ffmpeg.c:4638)
 ==31440==    by 0x48D681: transcode (ffmpeg.c:4682)
 ==31440==    by 0x487DC3: main (ffmpeg.c:4884)
 ==31440==
 ==31440== LEAK SUMMARY:
 ==31440==    definitely lost: 280 bytes in 2 blocks
 ==31440==    indirectly lost: 1,094 bytes in 4 blocks
 ==31440==      possibly lost: 0 bytes in 0 blocks
 ==31440==    still reachable: 32 bytes in 1 blocks
 ==31440==         suppressed: 0 bytes in 0 blocks
 ==31440== Reachable blocks (those to which a pointer was found) are not
 shown.
 ==31440== To see them, rerun with: --leak-check=full --show-leak-kinds=all
 ==31440==
 ==31440== For counts of detected and suppressed errors, rerun with: -v
 ==31440== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)

 }}}
 Please confirm.
 Thanks

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


More information about the FFmpeg-trac mailing list