summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavard Graff <havard.graff@gmail.com>2015-10-01 11:18:52 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-10-05 12:17:25 +0100
commit7592d5120a118173bff3579c40b69885198de5e3 (patch)
tree3e60f679333a858e32b3dc49ef0e64cef4f200f2
parentc830a31552c65059bff347bf0d0b559446c2ebe3 (diff)
downloadgstreamer-plugins-bad-7592d5120a118173bff3579c40b69885198de5e3.tar.gz
rtmpsrc: plug memory-leaks
https://bugzilla.gnome.org/show_bug.cgi?id=756001
-rw-r--r--ext/rtmp/gstrtmpsrc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/rtmp/gstrtmpsrc.c b/ext/rtmp/gstrtmpsrc.c
index b9ecfcfdf..bbed8b043 100644
--- a/ext/rtmp/gstrtmpsrc.c
+++ b/ext/rtmp/gstrtmpsrc.c
@@ -234,8 +234,11 @@ gst_rtmp_src_uri_set_uri (GstURIHandler * handler, const gchar * uri,
GST_ERROR_OBJECT (src, "Failed to parse URI %s", uri);
g_set_error (error, GST_URI_ERROR, GST_URI_ERROR_BAD_URI,
"Could not parse RTMP URI");
+ /* FIXME: we should not be freeing RTMP internals to avoid leaking */
+ free (playpath.av_val);
return FALSE;
}
+ free (playpath.av_val);
src->uri = g_strdup (uri);
}
@@ -559,7 +562,6 @@ static gboolean
gst_rtmp_src_start (GstBaseSrc * basesrc)
{
GstRTMPSrc *src;
- gchar *uri_copy;
src = GST_RTMP_SRC (basesrc);
@@ -572,13 +574,11 @@ gst_rtmp_src_start (GstBaseSrc * basesrc)
src->last_timestamp = 0;
src->discont = TRUE;
- uri_copy = g_strdup (src->uri);
src->rtmp = RTMP_Alloc ();
RTMP_Init (src->rtmp);
- if (!RTMP_SetupURL (src->rtmp, uri_copy)) {
+ if (!RTMP_SetupURL (src->rtmp, src->uri)) {
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL),
("Failed to setup URL '%s'", src->uri));
- g_free (uri_copy);
RTMP_Free (src->rtmp);
src->rtmp = NULL;
return FALSE;