]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_hwupload.c
avcodec/wavpack: Fix multiple integer overflows
[ffmpeg] / libavfilter / vf_hwupload.c
index 08af2dd49fe6a236539d711467f58b8fc2f16166..f54ce9faa760a519db5c73ae0ac4649f0a9e5b76 100644 (file)
@@ -74,17 +74,15 @@ static int hwupload_query_formats(AVFilterContext *avctx)
     if (input_pix_fmts) {
         for (i = 0; input_pix_fmts[i] != AV_PIX_FMT_NONE; i++) {
             err = ff_add_format(&input_formats, input_pix_fmts[i]);
-            if (err < 0) {
-                ff_formats_unref(&input_formats);
+            if (err < 0)
                 goto fail;
-            }
         }
     }
 
-    ff_formats_ref(input_formats, &avctx->inputs[0]->out_formats);
-
-    ff_formats_ref(ff_make_format_list(output_pix_fmts),
-                   &avctx->outputs[0]->in_formats);
+    if ((err = ff_formats_ref(input_formats, &avctx->inputs[0]->out_formats)) < 0 ||
+        (err = ff_formats_ref(ff_make_format_list(output_pix_fmts),
+                              &avctx->outputs[0]->in_formats)) < 0)
+        goto fail;
 
     av_hwframe_constraints_free(&constraints);
     return 0;