diff options
author | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-10-25 15:00:28 +0000 |
---|---|---|
committer | michael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-10-25 15:00:28 +0000 |
commit | e3fc47b713744dda0e2cec2fba3cc7628906aff7 (patch) | |
tree | 049dd90d54fe1af84f5798cbd10de17f4b538150 /libswscale | |
parent | b4596d1ad80896f776698fa57e9981f2c433bb1b (diff) | |
download | mpv-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.c | 2 |
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); } |