avconv_hw: Free device on initialisation failure
authorMark Thompson <sw@jkqxz.net>
Fri, 16 Jun 2017 22:18:55 +0000 (23:18 +0100)
committerMark Thompson <sw@jkqxz.net>
Sun, 18 Jun 2017 16:01:49 +0000 (17:01 +0100)
avtools/avconv_hw.c

index 94be723..36ef866 100644 (file)
@@ -75,7 +75,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;
@@ -208,6 +208,7 @@ invalid:
 fail:
     av_log(NULL, AV_LOG_ERROR,
            "Device creation failed: %d.\n", err);
+    av_buffer_unref(&device_ref);
     goto done;
 }