diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2013-06-05 12:12:53 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2013-06-05 12:17:40 +0200 |
commit | 6d7a191b7235dc6ab847d771751623a121ab2368 (patch) | |
tree | 3f80c2affe78d9fe7892a0377fc8dd189367f329 /gst | |
parent | 084140309d191e0a52b10bf177e80d9bc95b4692 (diff) | |
download | gst-plugins-good-6d7a191b7235dc6ab847d771751623a121ab2368.tar.gz gst-plugins-good-6d7a191b7235dc6ab847d771751623a121ab2368.tar.xz |
udpsink: avoid leaking the host
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701586
Diffstat (limited to 'gst')
-rw-r--r-- | gst/udp/gstudpsink.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gst/udp/gstudpsink.c b/gst/udp/gstudpsink.c index 2f29cc575..b59917f63 100644 --- a/gst/udp/gstudpsink.c +++ b/gst/udp/gstudpsink.c @@ -125,11 +125,18 @@ gst_udpsink_finalize (GstUDPSink * udpsink) static gboolean gst_udpsink_set_uri (GstUDPSink * sink, const gchar * uri, GError ** error) { + gchar *host; + guint16 port; + gst_multiudpsink_remove (GST_MULTIUDPSINK (sink), sink->host, sink->port); - if (!gst_udp_parse_uri (uri, &sink->host, &sink->port)) + if (!gst_udp_parse_uri (uri, &host, &port)) goto wrong_uri; + g_free (sink->host); + sink->host = host; + sink->port = port; + g_free (sink->uri); sink->uri = g_strdup (uri); |