Message ID | 20240220024922.22779-3-michael@niedermayer.cc |
---|---|
State | Accepted |
Commit | e9cc9e492f987ce23ce8c514258a17952dd20401 |
Headers | show |
Series | [FFmpeg-devel,1/3] tools: Add target_sws_fuzzer.c | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Tue, Feb 20, 2024 at 03:49:22AM +0100, Michael Niedermayer wrote: > Fixes: out of array access. > > Earlier code assumes that a unscaled bayer to yuvj420 converter exists > but the later code then skips yuvj420 > > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> > --- > libswscale/utils.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) will apply [...]
diff --git a/libswscale/utils.c b/libswscale/utils.c index d27128e42f..ab8a68e241 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1728,7 +1728,8 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter, /* unscaled special cases */ if (unscaled && !usesHFilter && !usesVFilter && (c->srcRange == c->dstRange || isAnyRGB(dstFormat) || - isFloat(srcFormat) || isFloat(dstFormat))){ + isFloat(srcFormat) || isFloat(dstFormat) || isBayer(srcFormat))){ + ff_get_unscaled_swscale(c); if (c->convert_unscaled) {
Fixes: out of array access. Earlier code assumes that a unscaled bayer to yuvj420 converter exists but the later code then skips yuvj420 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libswscale/utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)