[FFmpeg-trac] #3858(undetermined:new): memleak on broken (encrypted) input file
FFmpeg
trac at avcodec.org
Fri Aug 15 20:33:51 CEST 2014
#3858: memleak on broken (encrypted) input file
-------------------------------------+-------------------------------------
Reporter: cehoyos | Owner:
Type: defect | Status: new
Priority: normal | Component:
Version: git- | undetermined
master | Keywords: leak
Blocked By: | Blocking:
Reproduced by developer: 0 | Analyzed by developer: 0
-------------------------------------+-------------------------------------
A vob file was uploaded to incoming that is interpreted as aac audio,
FFmpeg leaks memory when trying to decode the sample.
{{{
$ valgrind --leak-check=full ./ffmpeg_g -i test -f null -
==6798== Memcheck, a memory error detector
==6798== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==6798== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==6798== Command: ./ffmpeg_g -i test -f null -
==6798==
ffmpeg version N-65661-g9c712d0 Copyright (c) 2000-2014 the FFmpeg
developers
built on Aug 15 2014 20:24:46 with gcc 4.8 (SUSE Linux)
configuration: --enable-gpl
libavutil 54. 3.100 / 54. 3.100
libavcodec 56. 0.101 / 56. 0.101
libavformat 56. 1.100 / 56. 1.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.100 / 5. 0.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 0.100 / 1. 0.100
libpostproc 53. 0.100 / 53. 0.100
[aac @ 0x9c87820] Format aac detected only with low score of 1,
misdetection possible!
[aac @ 0x9c9a3e0] channel element 3.7 is not allocated
[aac @ 0x9c9a3e0] More than one AAC RDB per ADTS frame is not implemented.
Update your FFmpeg version to the newest one from Git. If the problem
still occurs, it means that your file has a feature which has not been
implemented.
[aac @ 0x9c9a3e0] channel element 3.13 is not allocated
[aac @ 0x9c87820] decoding for stream 0 failed
[aac @ 0x9c87820] Estimating duration from bitrate, this may be inaccurate
[aac @ 0x9c87820] Could not find codec parameters for stream 0 (Audio:
aac, 3.0, fltp, 442 kb/s): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
test: could not find codec parameters
Input #0, aac, from 'test':
Duration: 00:00:00.01, bitrate: 442 kb/s
Stream #0:0: Audio: aac, 3.0, fltp, 442 kb/s
[abuffer @ 0x9d93b60] Value inf for parameter 'time_base' out of range [0
- 2.14748e+09]
Last message repeated 3 times
[abuffer @ 0x9d93b60] Error setting option time_base to value 1/0.
[graph 0 input from stream 0:0 @ 0x9d939e0] Error applying options to the
filter.
Error opening filters!
==6798==
==6798== HEAP SUMMARY:
==6798== in use at exit: 144 bytes in 4 blocks
==6798== total heap usage: 323 allocs, 319 frees, 1,179,645 bytes
allocated
==6798==
==6798== 32 bytes in 1 blocks are definitely lost in loss record 1 of 4
==6798== at 0x4C29E00: memalign (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==6798== by 0x4C29F27: posix_memalign (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==6798== by 0xCC94EF: av_mallocz (mem.c:95)
==6798== by 0x49B6AD: link_filter_inouts (graphparser.c:239)
==6798== by 0x49BDBE: avfilter_graph_parse2 (graphparser.c:410)
==6798== by 0x4794F9: configure_filtergraph (ffmpeg_filter.c:888)
==6798== by 0x47FD42: transcode_init (ffmpeg.c:2691)
==6798== by 0x466D1C: main (ffmpeg.c:3646)
==6798==
==6798== 32 bytes in 1 blocks are definitely lost in loss record 2 of 4
==6798== at 0x4C29E00: memalign (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==6798== by 0x4C29F27: posix_memalign (in /usr/lib64/valgrind
/vgpreload_memcheck-amd64-linux.so)
==6798== by 0xCC94EF: av_mallocz (mem.c:95)
==6798== by 0x49B610: link_filter_inouts (graphparser.c:264)
==6798== by 0x49BDBE: avfilter_graph_parse2 (graphparser.c:410)
==6798== by 0x4794F9: configure_filtergraph (ffmpeg_filter.c:888)
==6798== by 0x47FD42: transcode_init (ffmpeg.c:2691)
==6798== by 0x466D1C: main (ffmpeg.c:3646)
==6798==
==6798== LEAK SUMMARY:
==6798== definitely lost: 64 bytes in 2 blocks
==6798== indirectly lost: 0 bytes in 0 blocks
==6798== possibly lost: 0 bytes in 0 blocks
==6798== still reachable: 80 bytes in 2 blocks
==6798== suppressed: 0 bytes in 0 blocks
==6798== Reachable blocks (those to which a pointer was found) are not
shown.
==6798== To see them, rerun with: --leak-check=full --show-reachable=yes
==6798==
==6798== For counts of detected and suppressed errors, rerun with: -v
==6798== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 2)
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3858>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list