summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-10-25 15:00:28 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-10-25 15:00:28 +0000
commite3fc47b713744dda0e2cec2fba3cc7628906aff7 (patch)
tree049dd90d54fe1af84f5798cbd10de17f4b538150 /libswscale
parentb4596d1ad80896f776698fa57e9981f2c433bb1b (diff)
downloadmpv-e3fc47b713744dda0e2cec2fba3cc7628906aff7.tar.bz2
mpv-e3fc47b713744dda0e2cec2fba3cc7628906aff7.tar.xz
Do not attempt to use the unscaled yuv2rgb converter when height is odd because
it will overflow the buffer by 1 line. This might have been exploitable. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27826 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/swscale.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index a926bade05..62c0548fd5 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2312,7 +2312,7 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d
#ifdef CONFIG_GPL
/* yuv2bgr */
if ((srcFormat==PIX_FMT_YUV420P || srcFormat==PIX_FMT_YUV422P) && (isBGR(dstFormat) || isRGB(dstFormat))
- && !(flags & SWS_ACCURATE_RND))
+ && !(flags & SWS_ACCURATE_RND) && !(dstH&1))
{
c->swScale= yuv2rgb_get_func_ptr(c);
}