[MPlayer-advusers] AVI: segfault in video_read_properties() (video.c:88) if no stream format chunk has been seen
Attila Kinali
attila at kinali.ch
Wed Jul 11 17:17:23 CEST 2007
Heyo,
First bugreport comming from my zzuf setup :-)
MPlayer segfaults in video_read_properties() whenn trying
to access s_video->bih which is being allocated in
libmpdemux/aviheader.c:262, but only if a stream format chunk
("strf") has been seen.
---schnipp---
MPlayer dev-SVN-r23766-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3700+ (Family: 15, Model: 55, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
get_path('codecs.conf') -> '/home/attila/.mplayer/codecs.conf'
Reading /home/attila/.mplayer/codecs.conf: Can't open '/home/attila/.mplayer/cod
ecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/c
odecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --enable-debug
CommandLine: '-vo' 'null' '-ao' 'null' '-benchmark' '-nosound' '/data/outsource/
misc/amv/oh!mygoddess & to love you more (dj mystik).avi' '-v'
init_freetype
get_path('font/font.desc') -> '/home/attila/.mplayer/font/font.desc'
Bitmap font /home/attila/.mplayer/font/font.desc loaded successfully! (140 chars
)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/attila/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/attila/.mplayer/input.conf'
Can't open input config file /home/attila/.mplayer/input.conf: No such file or d
irectory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or
directory
Falling back on default (hardcoded) input config
get_path('oh!mygoddess & to love you more (dj mystik).avi.conf') -> '/home/attil
a/.mplayer/oh!mygoddess & to love you more (dj mystik).avi.conf'
Playing /data/outsource/misc/amv/oh!mygoddess & to love you more (dj mystik).avi
.
get_path('sub/') -> '/home/attila/.mplayer/sub/'
[file] File size is 43184128 bytes
STREAM: [file] /data/outsource/misc/amv/oh!mygoddess & to love you more (dj myst
ik).avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x2292
CHUNK avih len=56
======= AVI Header =======
us/frame: 33333 (fps=30.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames total: 40475 initial: 0
streams: 2
Suggested BufferSize: 0
Size: 33408 x 480
==========================
list_end=0x10F4
CHUNK strh len=56
==> Found video stream: 0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids FCC: div3 (33766964)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 4096
Rate: 3000/100 = 30.000
Start: 0 Len: 7707
Suggested BufferSize: 40919
Quality 10000
Sample size: 0
==========================
CHUNK stræ len=40 <------------- note, strf has been fuzzed
CHUNK JUNK len=4120
CHUNK NIST len=4234
list_end=0x2292
CHUNK `mlh len=248
list_end=0x230C
CHUNK INAM len=17
hdr=Name size=17
Name : To Love Xou More
CHUNK ISBJ len=17
hdr=Subject size=17
Subject : To Lovd You More
CHUNK IART len=8388616
hdr=Artist size=8388616
Artist : icechai
Broken chunk? chunksize=8388366 (id=IART)
CHUNK JUNO len=1260
CHUNK LISV len=42926142
CHUNK idx1 len=246400
Reading INDEX block, 15400 chunks for 40475 frames (fpos=42936398).
CHUNK JUNK len=1322
AVI index offset: 0x0 (movi=0x0 idx0=0x5 idx1=0x1F3A)
Auto-selected AVI video ID = 0
ChunkID mismatch! raw= idx=00dc
ChunkSize mismatch! raw=0 idx=23408
AVI video size=2382131318 (6968) audio size=0 (0)
[...]
Program terminated with signal 11, Segmentation fault.
0 0x0000000000552212 in video_read_properties (sh_video=0xedaaf0)
at video.c:88
88 sh_video->format=sh_video->bih->biCompression;
(gdb) bt
#0 0x0000000000552212 in video_read_properties (sh_video=0xedaaf0)
at video.c:88
#1 0x0000000000454696 in main (argc=9, argv=0x7fffe7746e38) at mplayer.c:3074
(gdb) l
83 // Determine image properties:
84 switch(video_codec){
85 case VIDEO_OTHER: {
86 if((d_video->demuxer->file_format == DEMUXER_TYPE_ASF) || (d_video->demuxer->file_format == DEMUXER_TYPE_AVI)) {
87 // display info:
88 sh_video->format=sh_video->bih->biCompression;
89
90 sh_video->disp_w=sh_video->bih->biWidth;
91 sh_video->disp_h=abs(sh_video->bih->biHeight);
92
(gdb) p sh_video->bih
$1 = (BITMAPINFOHEADER *) 0x0
---schnapp---
Could someone have a look at this?
Thanks in advance
Attila Kinali
--
Praised are the Fountains of Shelieth, the silver harp of the waters,
But blest in my name forever this stream that stanched my thirst!
-- Deed of Morred
More information about the MPlayer-advusers
mailing list