[FFmpeg-trac] #5139(undetermined:new): memory leak when invalid data is found processing input

FFmpeg trac at avcodec.org
Thu Jan 7 20:36:33 CET 2016


#5139: memory leak when invalid data is found processing input
-------------------------------------+-------------------------------------
             Reporter:  tsmith       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
              Version:  git-master   |  undetermined
             Keywords:  h264 leak    |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:   => h264 leak


Comment:

 I cannot reproduce this:
 {{{
 $ valgrind ffmpeg_g -i test_case.ivf
 ==29463== Memcheck, a memory error detector
 ==29463== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==29463== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
 info
 ==29463== Command: ffmpeg_g -i test_case.ivf
 ==29463==
 ffmpeg version N-77727-gf4c1a48 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 22.100 / 57. 22.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 test_case.ivf: Invalid data found when processing input
 ==29463==
 ==29463== HEAP SUMMARY:
 ==29463==     in use at exit: 262 bytes in 11 blocks
 ==29463==   total heap usage: 68 allocs, 57 frees, 2,131,677 bytes
 allocated
 ==29463==
 ==29463== LEAK SUMMARY:
 ==29463==    definitely lost: 0 bytes in 0 blocks
 ==29463==    indirectly lost: 0 bytes in 0 blocks
 ==29463==      possibly lost: 0 bytes in 0 blocks
 ==29463==    still reachable: 262 bytes in 11 blocks
 ==29463==         suppressed: 0 bytes in 0 blocks
 ==29463== Rerun with --leak-check=full to see details of leaked memory
 ==29463==
 ==29463== For counts of detected and suppressed errors, rerun with: -v
 ==29463== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
 }}}
 {{{
 $ valgrind ffmpeg_g -f ivf -i test_case.ivf
 ==29384== Memcheck, a memory error detector
 ==29384== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==29384== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
 info
 ==29384== Command: ffmpeg_g -f ivf -i test_case.ivf
 ==29384==
 ffmpeg version N-77727-gf4c1a48 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      55. 12.100 / 55. 12.100
   libavcodec     57. 22.100 / 57. 22.100
   libavformat    57. 21.101 / 57. 21.101
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 23.100 /  6. 23.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 st:0 has too large timebase, reducing
 Truncating packet of size 1175257088 to 34917
 [h264 @ 0xb721d60] sps_id 32 out of range
 [h264 @ 0xb721d60] FMO not supported
 [h264 @ 0xb721d60] sps_id 32 out of range
     Last message repeated 1 times
 [h264 @ 0xb721d60] Truncating likely oversized SPS
 [h264 @ 0xb721d60] sps_id 32 out of range
     Last message repeated 1 times
 [h264 @ 0xb721d60] FMO not supported
 [h264 @ 0xb721d60] sps_id 32 out of range
 [h264 @ 0xb721d60] Truncating likely oversized SPS
 [h264 @ 0xb721d60] sps_id 32 out of range
     Last message repeated 1 times
 [h264 @ 0xb721d60] Missing reference picture, default is 0
     Last message repeated 2 times
 [h264 @ 0xb721d60] co located POCs unavailable
 [h264 @ 0xb721d60] error while decoding MB 86 3, bytestream -11
 [h264 @ 0xb721d60] non-existing SPS 0 referenced in buffering period
 [h264 @ 0xb721d60] number of reference frames (0+3) exceeds max (2;
 probably corrupt input), discarding one
 [h264 @ 0xb721d60] concealing 258 DC, 258 AC, 258 MV errors in B frame
 [ivf @ 0xb718560] decoding for stream 0 failed
 Input #0, ivf, from 'test_case.ivf':
   Duration: -404950:-11:-49.57, bitrate: N/A
     Stream #0:0: Video: h264 (CAVLC 4:4:4) (V264 / 0x34363256), yuv444p,
 1566x94, 278.66 tbr, 278.66 tbn, 557.33 tbc
 At least one output file must be specified
 ==29384==
 ==29384== HEAP SUMMARY:
 ==29384==     in use at exit: 48 bytes in 1 blocks
 ==29384==   total heap usage: 328 allocs, 327 frees, 3,621,036 bytes
 allocated
 ==29384==
 ==29384== LEAK SUMMARY:
 ==29384==    definitely lost: 0 bytes in 0 blocks
 ==29384==    indirectly lost: 0 bytes in 0 blocks
 ==29384==      possibly lost: 0 bytes in 0 blocks
 ==29384==    still reachable: 48 bytes in 1 blocks
 ==29384==         suppressed: 0 bytes in 0 blocks
 ==29384== Rerun with --leak-check=full to see details of leaked memory
 ==29384==
 ==29384== For counts of detected and suppressed errors, rerun with: -v
 ==29384== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5139#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list