#8316 closed defect (fixed)
memory leaks in new_output_stream(), ffmpeg_opt.c
Reported by: | Suhwan | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | ffmpeg |
Version: | git-master | Keywords: | leak |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
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
Attachments (1)
Change History (4)
by , 5 years ago
comment:1 by , 5 years ago
Component: | undetermined → ffmpeg |
---|---|
Status: | new → open |
Summary: | memory leaks in nut_write_header() → memory leaks in new_output_stream(), ffmpeg_opt.c |
Nut muxer leak fixed in 90e37adab7fc88162d44dc68e510c3688d2de2f6
comment:2 by , 5 years ago
Keywords: | leak added |
---|---|
Priority: | important → minor |
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Rest fixed in 6f2a3958cfac135c60b509a61a4fd39432d8f9a9.
Note:
See TracTickets
for help on using tickets.
poc