diff options
author | Ashish Kumar <kr.ashish@samsung.com> | 2017-10-03 13:57:24 +0530 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2018-01-13 11:54:25 +0000 |
commit | a323802c5b893f1683c702af30a82598b4ecd80b (patch) | |
tree | 74c507f9d37c2dd050fb014a5d2f2fd565e3a634 | |
parent | c086dc4dcf7fb0307b848f8d22e9c89a56d48e20 (diff) | |
download | gst-libav-a323802c5b893f1683c702af30a82598b4ecd80b.tar.gz |
avprotocol: fix leak in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=788481
-rw-r--r-- | ext/libav/gstavprotocol.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/libav/gstavprotocol.c b/ext/libav/gstavprotocol.c index d106f9b..249b240 100644 --- a/ext/libav/gstavprotocol.c +++ b/ext/libav/gstavprotocol.c @@ -244,6 +244,7 @@ gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context) /* we don't support R/W together */ if ((flags & AVIO_FLAG_WRITE) && (flags & AVIO_FLAG_READ)) { GST_WARNING ("Only read-only or write-only are supported"); + g_free (info); return -EINVAL; } @@ -262,6 +263,7 @@ gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context) buffer = av_malloc (buffer_size); if (buffer == NULL) { GST_WARNING ("Failed to allocate buffer"); + g_free (info); return -ENOMEM; } @@ -270,6 +272,7 @@ gst_ffmpegdata_open (GstPad * pad, int flags, AVIOContext ** context) gst_ffmpegdata_read, gst_ffmpegdata_write, gst_ffmpegdata_seek); if (*context == NULL) { GST_WARNING ("Failed to allocate memory"); + g_free (info); av_free (buffer); return -ENOMEM; } |