From: Federico Tomassetti <[email protected]>
Bug-Id: CID 1267890
---
libswscale/utils.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 23d7c93..667896d 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -1383,16 +1383,13 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float
chromaGBlur,
}
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;
+ goto exit;
}
if (chromaSharpen != 0.0) {
SwsVector *id = sws_getIdentityVec();
+ if (!id)
+ goto exit;
sws_scaleVec(filter->chrH, -chromaSharpen);
sws_scaleVec(filter->chrV, -chromaSharpen);
sws_addVec(filter->chrH, id);
@@ -1402,6 +1399,8 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float
chromaGBlur,
if (lumaSharpen != 0.0) {
SwsVector *id = sws_getIdentityVec();
+ if (!id)
+ goto exit;
sws_scaleVec(filter->lumH, -lumaSharpen);
sws_scaleVec(filter->lumV, -lumaSharpen);
sws_addVec(filter->lumH, id);
@@ -1426,6 +1425,14 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float
chromaGBlur,
sws_printVec2(filter->lumH, NULL, AV_LOG_DEBUG);
return filter;
+
+exit:
+ 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)
--
2.1.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel