diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-07-08 12:28:28 -0700 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-07-11 03:51:46 +0200 |
commit | 71a04bc19dfb990d3f7cce82b5516e88d2c371f4 (patch) | |
tree | 34376bc9da5c1527fae5478b577b11c88eaa3cae | |
parent | ac9ac45aca7d3114dc790f794b49f066b4178827 (diff) | |
download | ffmpeg-71a04bc19dfb990d3f7cce82b5516e88d2c371f4.tar.gz |
swscale: fix crash in 8-bpc bilinear output without alpha.
We accessed the alpha array even it wasn't used and didn't
exist, hence leading to a NULL pointer segfault.
(cherry picked from commit bf2cba453244a74331238a472fe0e309f116f4d9)
-rw-r--r-- | libswscale/swscale.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 15db8367de..b9c619c727 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -1247,7 +1247,8 @@ yuv2rgb_2_c_template(SwsContext *c, const int16_t *buf[2], const int16_t *buf0 = buf[0], *buf1 = buf[1], *ubuf0 = ubuf[0], *ubuf1 = ubuf[1], *vbuf0 = vbuf[0], *vbuf1 = vbuf[1], - *abuf0 = abuf[0], *abuf1 = abuf[1]; + *abuf0 = hasAlpha ? abuf[0] : NULL, + *abuf1 = hasAlpha ? abuf[1] : NULL; int yalpha1 = 4095 - yalpha; int uvalpha1 = 4095 - uvalpha; int i; |