[FFmpeg-trac] #1362(avcodec:new): Crash reading iff_ilbm

FFmpeg trac at avcodec.org
Mon May 28 15:47:21 CEST 2012


#1362: Crash reading iff_ilbm
-------------------------------------+-------------------------------------
               Reporter:  cehoyos    |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  important  |              Component:  avcodec
                Version:  git-       |               Keywords:  iff crash
  master                             |  SIGSEGV
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 {{{
 (gdb) r -vcodec iff_ilbm -i blox.avi
 Starting program: ffmpeg_g -vcodec iff_ilbm -i blox.avi
 [Thread debugging using libthread_db enabled]
 [New Thread 0xb797d6c0 (LWP 20781)]
 ffmpeg version N-41080-g394b692 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on May 28 2012 14:04:27 with gcc 4.3.2
   configuration: --cc=/usr/local/gcc-4.3.2/bin/gcc --enable-gpl --enable-
 libopenjpeg --enable-libvorbis --enable-libspeex --enable-libmp3lame
 --enable-libtheora --extra-ldflags=-lm --enable-libvpx --enable-libxavs
   libavutil      51. 55.100 / 51. 55.100
   libavcodec     54. 23.100 / 54. 23.100
   libavformat    54.  6.101 / 54.  6.101
   libavdevice    54.  0.100 / 54.  0.100
   libavfilter     2. 77.100 /  2. 77.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0xb797d6c0 (LWP 20781)]
 extract_header (avctx=0x901e700, avpkt=0x0) at libavcodec/iff.c:194
 194         int palette_size = avctx->extradata_size -
 AV_RB16(avctx->extradata);
 (gdb) bt
 #0  extract_header (avctx=0x901e700, avpkt=0x0) at libavcodec/iff.c:194
 #1  0x08413dde in decode_init (avctx=0x901e700) at libavcodec/iff.c:335
 #2  0x08590345 in avcodec_open2 (avctx=0x901e700, codec=Cannot access
 memory at address 0x4
 )
     at libavcodec/utils.c:925
 #3  0x0819e8ac in avformat_find_stream_info (ic=0x9018440,
 options=0x90183c0)
     at libavformat/utils.c:2485
 #4  0x0805682b in opt_input_file (o=0xbfbaa228, opt=0xbfbab280 "i",
     filename=0xbfbab282 "blox.avi") at ffmpeg.c:4327
 #5  0x08062d72 in parse_option (optctx=0xbfbaa228, opt=0xbfbab280 "i",
     arg=0xbfbab282 "blox.avi", options=0x88e7540) at cmdutils.c:305
 #6  0x08063103 in parse_options (optctx=0xbfbaa228, argc=5,
 argv=0xbfbaa454,
     options=0x88e7540, parse_arg_function=0x805d420 <opt_output_file>)
     at cmdutils.c:338
 #7  0x0805c4f6 in main (argc=5, argv=0xbfbaa454) at ffmpeg.c:5906
 (gdb) disass $pc-32 $pc+32
 Dump of assembler code from 0x8411cae to 0x8411cee:
 0x08411cae:     add    %al,(%eax)
 0x08411cb0 <extract_header+0>:  sub    $0x4c,%esp
 0x08411cb3 <extract_header+3>:  mov    %esi,0x40(%esp)
 0x08411cb7 <extract_header+7>:  mov    %eax,%esi
 0x08411cb9 <extract_header+9>:  mov    %ebp,0x48(%esp)
 0x08411cbd <extract_header+13>: mov    %ebx,0x3c(%esp)
 0x08411cc1 <extract_header+17>: mov    %edi,0x44(%esp)
 0x08411cc5 <extract_header+21>: mov    0x64(%eax),%ebx
 0x08411cc8 <extract_header+24>: mov    0x68(%eax),%ecx
 0x08411ccb <extract_header+27>: mov    0x40(%eax),%edi
 0x08411cce <extract_header+30>: movzwl (%ebx),%eax
 0x08411cd1 <extract_header+33>: mov    %ecx,%ebp
 0x08411cd3 <extract_header+35>: rol    $0x8,%ax
 0x08411cd7 <extract_header+39>: movzwl %ax,%eax
 0x08411cda <extract_header+42>: sub    %eax,%ebp
 0x08411cdc <extract_header+44>: test   %edx,%edx
 0x08411cde <extract_header+46>: mov    %ebp,0x2c(%esp)
 0x08411ce2 <extract_header+50>: je     0x8411e10 <extract_header+352>
 0x08411ce8 <extract_header+56>: mov    0x14(%edx),%ecx
 0x08411ceb <extract_header+59>: cmp    $0x1,%ecx
 End of assembler dump.
 (gdb) info register
 eax            0x901e700        151119616
 ecx            0x0      0
 edx            0x0      0
 ebx            0x0      0
 esp            0xbfba9c40       0xbfba9c40
 ebp            0x90183c0        0x90183c0
 esi            0x901e700        151119616
 edi            0x901f100        151122176
 eip            0x8411cce        0x8411cce <extract_header+30>
 eflags         0x10282  [ SF IF RF ]
 cs             0x73     115
 ss             0x7b     123
 ds             0x7b     123
 es             0x7b     123
 fs             0x0      0
 gs             0x33     51
 }}}

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


More information about the FFmpeg-trac mailing list