mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-08 05:28:40 +00:00
swscale: Check memory allocation
Bug-Id: CID 1267890 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
c28ed1d743
commit
7ebb302229
@ -1382,17 +1382,13 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
|
|||||||
filter->chrV = sws_getIdentityVec();
|
filter->chrV = sws_getIdentityVec();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!filter->lumH || !filter->lumV || !filter->chrH || !filter->chrV) {
|
if (!filter->lumH || !filter->lumV || !filter->chrH || !filter->chrV)
|
||||||
sws_freeVec(filter->lumH);
|
goto fail;
|
||||||
sws_freeVec(filter->lumV);
|
|
||||||
sws_freeVec(filter->chrH);
|
|
||||||
sws_freeVec(filter->chrV);
|
|
||||||
av_freep(&filter);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (chromaSharpen != 0.0) {
|
if (chromaSharpen != 0.0) {
|
||||||
SwsVector *id = sws_getIdentityVec();
|
SwsVector *id = sws_getIdentityVec();
|
||||||
|
if (!id)
|
||||||
|
goto fail;
|
||||||
sws_scaleVec(filter->chrH, -chromaSharpen);
|
sws_scaleVec(filter->chrH, -chromaSharpen);
|
||||||
sws_scaleVec(filter->chrV, -chromaSharpen);
|
sws_scaleVec(filter->chrV, -chromaSharpen);
|
||||||
sws_addVec(filter->chrH, id);
|
sws_addVec(filter->chrH, id);
|
||||||
@ -1402,6 +1398,8 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
|
|||||||
|
|
||||||
if (lumaSharpen != 0.0) {
|
if (lumaSharpen != 0.0) {
|
||||||
SwsVector *id = sws_getIdentityVec();
|
SwsVector *id = sws_getIdentityVec();
|
||||||
|
if (!id)
|
||||||
|
goto fail;
|
||||||
sws_scaleVec(filter->lumH, -lumaSharpen);
|
sws_scaleVec(filter->lumH, -lumaSharpen);
|
||||||
sws_scaleVec(filter->lumV, -lumaSharpen);
|
sws_scaleVec(filter->lumV, -lumaSharpen);
|
||||||
sws_addVec(filter->lumH, id);
|
sws_addVec(filter->lumH, id);
|
||||||
@ -1426,6 +1424,14 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float chromaGBlur,
|
|||||||
sws_printVec2(filter->lumH, NULL, AV_LOG_DEBUG);
|
sws_printVec2(filter->lumH, NULL, AV_LOG_DEBUG);
|
||||||
|
|
||||||
return filter;
|
return filter;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
sws_freeVec(filter->lumH);
|
||||||
|
sws_freeVec(filter->lumV);
|
||||||
|
sws_freeVec(filter->chrH);
|
||||||
|
sws_freeVec(filter->chrV);
|
||||||
|
av_freep(&filter);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
SwsVector *sws_allocVec(int length)
|
SwsVector *sws_allocVec(int length)
|
||||||
|
Loading…
Reference in New Issue
Block a user