mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-23 17:14:23 +00:00
plugins/elements/gstfilesrc.c: Fix memory leak.
Original commit message from CVS: * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri): Fix memory leak.
This commit is contained in:
parent
9c15d8efec
commit
aa1dfbb004
2 changed files with 17 additions and 11 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2008-11-24 Edward Hervey <edward.hervey@collabora.co.uk>
|
||||||
|
|
||||||
|
* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
|
||||||
|
Fix memory leak.
|
||||||
|
|
||||||
2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
|
Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
|
||||||
|
|
|
@ -1101,7 +1101,7 @@ static gboolean
|
||||||
gst_file_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
gst_file_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
||||||
{
|
{
|
||||||
gchar *location, *hostname = NULL;
|
gchar *location, *hostname = NULL;
|
||||||
gboolean ret;
|
gboolean ret = FALSE;
|
||||||
GstFileSrc *src = GST_FILE_SRC (handler);
|
GstFileSrc *src = GST_FILE_SRC (handler);
|
||||||
|
|
||||||
if (strcmp (uri, "file://") == 0) {
|
if (strcmp (uri, "file://") == 0) {
|
||||||
|
@ -1116,17 +1116,13 @@ gst_file_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
||||||
|
|
||||||
if (!location) {
|
if (!location) {
|
||||||
GST_WARNING_OBJECT (src, "Invalid URI '%s' for filesrc", uri);
|
GST_WARNING_OBJECT (src, "Invalid URI '%s' for filesrc", uri);
|
||||||
return FALSE;
|
goto beach;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hostname) {
|
if ((hostname) && (strcmp (hostname, "localhost"))) {
|
||||||
if (strcmp (hostname, "localhost")) {
|
/* Only 'localhost' is permitted */
|
||||||
/* Only 'localhost' is permitted */
|
GST_WARNING_OBJECT (src, "Invalid hostname '%s' for filesrc", hostname);
|
||||||
GST_WARNING_OBJECT (src, "Invalid hostname '%s' for filesrc", hostname);
|
goto beach;
|
||||||
g_free (hostname);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
g_free (hostname);
|
|
||||||
}
|
}
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
/* Unfortunately, g_filename_from_uri() doesn't handle some UNC paths
|
/* Unfortunately, g_filename_from_uri() doesn't handle some UNC paths
|
||||||
|
@ -1139,7 +1135,12 @@ gst_file_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ret = gst_file_src_set_location (src, location);
|
ret = gst_file_src_set_location (src, location);
|
||||||
g_free (location);
|
|
||||||
|
beach:
|
||||||
|
if (location)
|
||||||
|
g_free (location);
|
||||||
|
if (hostname)
|
||||||
|
g_free (hostname);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue