diff --git a/libswscale/utils.c b/libswscale/utils.c index b3df1afc27..23d7c93232 100644 --- a/libswscale/utils.c +++ b/libswscale/utils.c @@ -1382,6 +1382,15 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur, filter->chrV = sws_getIdentityVec(); } + if (!filter->lumH || !filter->lumV || !filter->chrH || !filter->chrV) { + sws_freeVec(filter->lumH); + sws_freeVec(filter->lumV); + sws_freeVec(filter->chrH); + sws_freeVec(filter->chrV); + av_freep(&filter); + return NULL; + } + if (chromaSharpen != 0.0) { SwsVector *id = sws_getIdentityVec(); sws_scaleVec(filter->chrH, -chromaSharpen);