From f434ddf48e084a7a5631e7a9dd1d9771d97e114c Mon Sep 17 00:00:00 2001
From: Mark Thompson <sw@jkqxz.net>
Date: Fri, 16 Jun 2017 23:18:55 +0100
Subject: [PATCH] avconv_hw: Free device on initialisation failure

Fixes CID 1412852.

(cherry picked from commit c2b0bea40f1fd4399ff6184a2df4f397c0f4b3ab)
---
 ffmpeg_hw.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ffmpeg_hw.c b/ffmpeg_hw.c
index 5708e9af207..a4d1cada591 100644
--- a/ffmpeg_hw.c
+++ b/ffmpeg_hw.c
@@ -77,7 +77,7 @@ int hw_device_init_from_string(const char *arg, HWDevice **dev_out)
     char *type_name = NULL, *name = NULL, *device = NULL;
     enum AVHWDeviceType type;
     HWDevice *dev, *src;
-    AVBufferRef *device_ref;
+    AVBufferRef *device_ref = NULL;
     int err;
     const char *errmsg, *p, *q;
     size_t k;
@@ -210,6 +210,7 @@ invalid:
 fail:
     av_log(NULL, AV_LOG_ERROR,
            "Device creation failed: %d.\n", err);
+    av_buffer_unref(&device_ref);
     goto done;
 }
 
-- 
GitLab