[FFmpeg-trac] #3213(avcodec:new): h264 flv segfaults on seek beyond the end of the file

FFmpeg trac at avcodec.org
Tue Dec 10 00:36:08 CET 2013


#3213: h264 flv segfaults on seek beyond the end of the file
-------------------------------------+-------------------------------------
               Reporter:  cus        |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  important  |              Component:  avcodec
                Version:  git-       |               Keywords:  h264 seek
  master                             |  regression
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 Summary of the bug:

 h264 flv segfaults on seek after the end of the file

 How to reproduce:
 Press PgUp after starting ffplay:
 {{{
 % ffplay h264-seek-segfault.flv
 ffplay version N-58942-gb6a8619 Copyright (c) 2003-2013 the FFmpeg
 developers
   built on Dec 10 2013 00:14:47 with gcc 4.8 (SUSE Linux)
   configuration: --disable-vaapi --enable-vdpau --enable-gpl --enable-
 libfreetype --enable-libzvbi --enable-libass --enable-frei0r
   libavutil      52. 58.100 / 52. 58.100
   libavcodec     55. 45.100 / 55. 45.100
   libavformat    55. 22.100 / 55. 22.100
   libavdevice    55.  5.102 / 55.  5.102
   libavfilter     3. 92.100 /  3. 92.100
   libswscale      2.  5.101 /  2.  5.101
   libswresample   0. 17.104 /  0. 17.104
   libpostproc    52.  3.100 / 52.  3.100
 [flv @ 0x313e4c0] Stream discovered after head already parsed=0/0
 Input #0, flv, from 'h264-seek-segfault.flv':
   Metadata:
     starttime       : 0
     totalduration   : 300
     totaldatarate   : 592
     bytelength      : 22252473
     canseekontime   : true
     sourcedata      : B4A7D6CA2HH1309108729288780
     purl            :
     pmsg            :
   Duration: 00:05:00.27, start: 0.000000, bitrate: 592 kb/s
     Stream #0:0: Video: h264 (Main), yuv420p, 480x360 [SAR 1:1 DAR 4:3],
 548 kb/s, 29.97 tbr, 1k tbn, 59.94 tbc
     Stream #0:1: Audio: aac, 44100 Hz, mono, fltp, 49 kb/s
     Stream #0:2: Data: none
 XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server
 ":0"
       after 123 requests (123 known processed) with 1 events remaining.
 }}}

 valgrind output:
 {{{
 ==18023== Invalid read of size 8
 ==18023==    at 0x6E024B: decode_update_thread_context (h264.c:1854)
 ==18023==    by 0x89F45F: ff_thread_decode_frame (pthread_frame.c:229)
 ==18023==    by 0x93ABE2: avcodec_decode_video2 (utils.c:2111)
 ==18023==    by 0x46B2DE: video_thread (ffplay.c:1687)
 ==18023==    by 0x5CC8BF7: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
 ==18023==    by 0x5D08508: ??? (in /usr/lib64/libSDL-1.2.so.0.11.4)
 ==18023==    by 0x5F570DA: start_thread (in /lib64/libpthread-2.18.so)
 ==18023==    by 0x70B990C: clone (in /lib64/libc-2.18.so)
 ==18023==  Address 0x1d0 is not stack'd, malloc'd or (recently) free'd
 ==18023==
 }}}

 Regression since a553c6a347d3d28d7ee44c3df3d5c4ee780dba23.

 I have uploaded the flv to ftp://upload.ffmpeg.org/incoming/h264-seek-
 segfault.flv.

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


More information about the FFmpeg-trac mailing list