udpsink: avoid leaking the host
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 5 Jun 2013 10:12:53 +0000 (12:12 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 5 Jun 2013 10:14:01 +0000 (12:14 +0200)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701586

gst/udp/gstudpsink.c

index bd1f755..224d578 100644 (file)
@@ -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);