summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2013-06-05 12:12:53 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2013-06-05 12:17:40 +0200
commit6d7a191b7235dc6ab847d771751623a121ab2368 (patch)
tree3f80c2affe78d9fe7892a0377fc8dd189367f329 /gst
parent084140309d191e0a52b10bf177e80d9bc95b4692 (diff)
downloadgst-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.c9
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);