avprotocol: fix leak in error code paths
authorAshish Kumar <kr.ashish@samsung.com>
Tue, 3 Oct 2017 08:27:24 +0000 (13:57 +0530)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 13 Jan 2018 11:54:25 +0000 (11:54 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=788481

ext/libav/gstavprotocol.c

index d106f9b..249b240 100644 (file)
@@ -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;
   }