[FFmpeg-trac] #72(swscale:new): Invalid pal8 sample crashes libswscale
FFmpeg
trac at avcodec.org
Tue Apr 19 20:04:34 CEST 2011
#72: Invalid pal8 sample crashes libswscale
------------------------+---------------------
Reporter: cehoyos | Owner: michael
Type: defect | Status: new
Priority: important | Component: swscale
Version: git | Keywords:
Blocked By: | Blocking:
Reproduced: 1 | Analyzed: 0
------------------------+---------------------
The sample from issue 2497 (that originally crashed the bfi decoder) now
crashes libswscale.
{{{
(gdb) r -i bfi_buffer_overread.bfi out.avi
FFmpeg version git-N-29196-ge61b83d, Copyright (c) 2000-2011 the FFmpeg
developers
built on Apr 19 2011 19:44:16 with gcc 4.4.5
configuration: --cc='/usr/local/gcc-4.4.5/bin/gcc -m32' --disable-asm
libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.120. 0 / 52.120. 0
libavformat 52.108. 0 / 52.108. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 79. 1 / 1. 79. 1
libswscale 0. 13. 0 / 0. 13. 0
[bfi @ 0x8c66de0] Estimating duration from bitrate, this may be inaccurate
Input #0, bfi, from 'bfi_buffer_overread.bfi':
Duration: 00:00:01.88, start: 0.000000, bitrate: 86 kb/s
Stream #0.0: Video: bfi, pal8, 320x131212, 9 tbr, 9 tbn, 9 tbc
Stream #0.1: Audio: pcm_u8, 11025 Hz, 1 channels, u8, 88 kb/s
Incompatible pixel format 'pal8' for codec 'mpeg4', auto-selecting format
'yuv420p'
Incompatible sample format 'u8' for codec 'mp2', auto-selecting format
's16'
[NULL @ 0x8c6ef30] Requested sampling rate unsupported using closest
supported (16000)
[buffer @ 0x8c6f630] w:320 h:131212 pixfmt:pal8
[ffsink @ 0x8c6f880] auto-inserting filter 'auto-inserted scaler 0'
between the filter 'src' and the filter 'out'
[scale @ 0x8c6fc40] w:320 h:131212 fmt:pal8 -> w:320 h:131212 fmt:yuv420p
flags:0x4
Program received signal SIGSEGV, Segmentation fault.
0x085a7753 in sws_init_context (c=0x8c87d40, srcFilter=0xffffbe90,
dstFilter=0xffffbe90) at libswscale/utils.c:1000
1000 int nextSlice= FFMAX(c->vLumFilterPos[i ] +
c->vLumFilterSize - 1,
(gdb) bt
#0 0x085a7753 in sws_init_context (c=0x8c87d40, srcFilter=0xffffbe90,
dstFilter=0xffffbe90) at libswscale/utils.c:1000
#1 0x085a8b62 in sws_getContext (srcW=320, srcH=131212,
srcFormat=PIX_FMT_PAL8, dstW=320, dstH=131212, dstFormat=PIX_FMT_YUV420P,
flags=4, srcFilter=0x0, dstFilter=0x0, param=0x0) at
libswscale/utils.c:1166
#2 0x0806ac4f in config_props (outlink=0x8c6fca0) at
libavfilter/vf_scale.c:219
#3 0x08060cac in avfilter_config_links (filter=0x8c6f880) at
libavfilter/avfilter.c:190
#4 0x08062b4a in ff_avfilter_graph_config_links (log_ctx=0x0,
graph=<value optimized out>) at libavfilter/avfiltergraph.c:119
#5 avfilter_graph_config (log_ctx=0x0, graph=<value optimized out>) at
libavfilter/avfiltergraph.c:238
#6 0x08055811 in configure_video_filters (ost=<value optimized out>,
ist=<value optimized out>) at ffmpeg.c:426
#7 transcode (ost=<value optimized out>, ist=<value optimized out>) at
ffmpeg.c:2321
#8 0x08055cab in main (argc=4, argv=0xffffd004) at ffmpeg.c:4463
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x85a7733 to 0x85a7773:
0x085a7733 <sws_init_context+4707>: je 0x85a7759
<sws_init_context+4745>
0x085a7735 <sws_init_context+4709>: pop %eax
0x085a7736 <sws_init_context+4710>: mov 0x8c(%esp),%edx
0x085a773d <sws_init_context+4717>: imul 0x60(%esp),%edx
0x085a7742 <sws_init_context+4722>: mov 0x70(%esp),%esi
0x085a7746 <sws_init_context+4726>: mov 0x60(%esp),%edi
0x085a774a <sws_init_context+4730>: mov %edx,%eax
0x085a774c <sws_init_context+4732>: sar $0x1f,%edx
0x085a774f <sws_init_context+4735>: idivl 0x4c(%esp)
0x085a7753 <sws_init_context+4739>: movswl (%esi,%eax,2),%edx
0x085a7757 <sws_init_context+4743>: mov %eax,0x68(%esp)
0x085a775b <sws_init_context+4747>: mov 0x78(%esp),%eax
0x085a775f <sws_init_context+4751>: mov 0x88(%esp),%esi
0x085a7766 <sws_init_context+4758>: movswl (%eax,%edi,2),%edi
0x085a776a <sws_init_context+4762>: lea (%edx,%esi,1),%eax
0x085a776d <sws_init_context+4765>: shl %cl,%eax
0x085a776f <sws_init_context+4767>: mov %edi,0x64(%esp)
End of assembler dump.
(gdb) info register
eax 0xffffcff0 -12304
ecx 0x0 0
edx 0xfffeec96 -70506
ebx 0x8c87d40 147356992
esp 0xffffbe00 0xffffbe00
ebp 0x4 0x4
esi 0xf7fbc020 -134496224
edi 0x9f99 40857
eip 0x85a7753 0x85a7753 <sws_init_context+4739>
eflags 0x10a86 [ PF SF IF OF RF ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x0 0
gs 0x63 99
}}}
--
Ticket URL: <https://avcodec.org/trac/ffmpeg/ticket/72>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list