Bug-Id: CID 1267888
Bug-Id: CID 1267890
CC: [email protected]
---
 libswscale/utils.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/libswscale/utils.c b/libswscale/utils.c
index b3df1af..a8e4b7d 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -1382,6 +1382,14 @@ 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);
+        return NULL;
+    }
+
     if (chromaSharpen != 0.0) {
         SwsVector *id = sws_getIdentityVec();
         sws_scaleVec(filter->chrH, -chromaSharpen);
@@ -1400,11 +1408,13 @@ SwsFilter *sws_getDefaultFilter(float lumaGBlur, float 
chromaGBlur,
         sws_freeVec(id);
     }
 
-    if (chromaHShift != 0.0)
-        sws_shiftVec(filter->chrH, (int)(chromaHShift + 0.5));
+    if (chromaHShift != 0.0) {
+        sws_shiftVec(filter->chrH, (int) (chromaHShift + 0.5));
+    }
 
-    if (chromaVShift != 0.0)
-        sws_shiftVec(filter->chrV, (int)(chromaVShift + 0.5));
+    if (chromaVShift != 0.0) {
+        sws_shiftVec(filter->chrV, (int) (chromaVShift + 0.5));
+    }
 
     sws_normalizeVec(filter->chrH, 1.0);
     sws_normalizeVec(filter->chrV, 1.0);
-- 
2.1.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to