diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-21 18:22:07 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-21 18:22:07 +0000 |
commit | 75282a6a83d42f6f1f5d579b748ddf317c2645bd (patch) | |
tree | 31a8cd0dc2b0845e60deb962b2c88e80712bb20f /libmpdemux/aviheader.c | |
parent | 4b9ddc69a0c0baed309e7a277bb8e14e4edf3fe1 (diff) | |
download | mpv-75282a6a83d42f6f1f5d579b748ddf317c2645bd.tar.bz2 mpv-75282a6a83d42f6f1f5d579b748ddf317c2645bd.tar.xz |
Sanity-check sh_video->bih->biSize
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21985 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/aviheader.c')
-rw-r--r-- | libmpdemux/aviheader.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c index 0cb6ee5a55..60984e6f06 100644 --- a/libmpdemux/aviheader.c +++ b/libmpdemux/aviheader.c @@ -262,6 +262,8 @@ while(1){ mp_msg(MSGT_HEADER,MSGL_V,MSGTR_MPDEMUX_AVIHDR_FoundBitmapInfoHeader,chunksize,sizeof(BITMAPINFOHEADER)); stream_read(demuxer->stream,(char*) sh_video->bih,chunksize); le2me_BITMAPINFOHEADER(sh_video->bih); // swap to machine endian + if (sh_video->bih->biSize > chunksize && sh_video->bih->biSize > sizeof(BITMAPINFOHEADER)) + sh_video->bih->biSize = chunksize; // fixup MS-RLE header (seems to be broken for <256 color files) if(sh_video->bih->biCompression<=1 && sh_video->bih->biSize==40) sh_video->bih->biSize=chunksize; |