summaryrefslogtreecommitdiff
path: root/avtools
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2017-06-16 23:18:55 +0100
committerMark Thompson <sw@jkqxz.net>2017-06-18 17:01:49 +0100
commitc2b0bea40f1fd4399ff6184a2df4f397c0f4b3ab (patch)
tree7150c78fe5f1bdbcd471a849aebdcbff4c204bdb /avtools
parenta670eea56087d0ecd4fbeccf3a9beb9110b7031f (diff)
downloadffmpeg-c2b0bea40f1fd4399ff6184a2df4f397c0f4b3ab.tar.gz
avconv_hw: Free device on initialisation failure
Diffstat (limited to 'avtools')
-rw-r--r--avtools/avconv_hw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/avtools/avconv_hw.c b/avtools/avconv_hw.c
index 94be723304..36ef866927 100644
--- a/avtools/avconv_hw.c
+++ b/avtools/avconv_hw.c
@@ -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;
}