summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-10-21 13:15:48 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-10-21 13:15:48 +0000
commitbcc10e0961a5821d5fcb65d048026a420f3c7e5b (patch)
tree01a9907fe73d69ba3f4ba101ba6161546828d7f5 /libmpcodecs
parentbd543ced4c2304e1cc60ec53f813ffe139a8341c (diff)
downloadmpv-bcc10e0961a5821d5fcb65d048026a420f3c7e5b.tar.bz2
mpv-bcc10e0961a5821d5fcb65d048026a420f3c7e5b.tar.xz
Check ICDecompressGetFormatSize to avoid crashes.
Based on patch by Gianluigi Tiesi (mplayer netfarm it). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24829 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_vfw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpcodecs/vd_vfw.c b/libmpcodecs/vd_vfw.c
index bda0dc1051..f21a6d2c82 100644
--- a/libmpcodecs/vd_vfw.c
+++ b/libmpcodecs/vd_vfw.c
@@ -172,6 +172,11 @@ static int init(sh_video_t *sh){
o_bih_len = ICDecompressGetFormatSize(priv->handle, sh->bih);
+ if(o_bih_len < sizeof(BITMAPINFOHEADER)){
+ mp_msg(MSGT_WIN32,MSGL_ERR,"ICDecompressGetFormatSize returned a bogus value: %d\n", o_bih_len);
+ return 0;
+ }
+
priv->o_bih = malloc(o_bih_len);
memset(priv->o_bih, 0, o_bih_len);