mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 00:36:51 +00:00
gst/gstregistry.c: Don't recurse into .debug directories as some distros install the debugging symbols next to the pl...
Original commit message from CVS: Patch by: Rob Bradford <rob at robster dot org dot uk> * gst/gstregistry.c: (gst_registry_scan_path_level): Don't recurse into .debug directories as some distros install the debugging symbols next to the plugins in .debug directories and dlopen() crashes on them sometimes. Fixes bug #508070. Add FIXME for 0.11 to not recurse into directories at all because it's very inconsistent to the behaviour of other PATH environment variables.
This commit is contained in:
parent
5cba5bdbf1
commit
9f9422bcb3
2 changed files with 23 additions and 0 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
2008-05-30 Sebastian Dröge <slomo@circular-chaos.org>
|
||||
|
||||
Patch by: Rob Bradford <rob at robster dot org dot uk>
|
||||
|
||||
* gst/gstregistry.c: (gst_registry_scan_path_level):
|
||||
Don't recurse into .debug directories as some distros install
|
||||
the debugging symbols next to the plugins in .debug directories
|
||||
and dlopen() crashes on them sometimes. Fixes bug #508070.
|
||||
|
||||
Add FIXME for 0.11 to not recurse into directories at all because
|
||||
it's very inconsistent to the behaviour of other PATH environment
|
||||
variables.
|
||||
|
||||
2008-05-29 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||
|
||||
* libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
|
||||
|
|
|
@ -812,6 +812,16 @@ gst_registry_scan_path_level (GstRegistry * registry, const gchar * path,
|
|||
filename = g_strjoin ("/", path, dirent, NULL);
|
||||
|
||||
if (g_file_test (filename, G_FILE_TEST_IS_DIR)) {
|
||||
/* skip the .debug directory, these contain elf files that are not
|
||||
* useful or worse, can crash dlopen () */
|
||||
if (g_str_equal (dirent, ".debug")) {
|
||||
GST_LOG_OBJECT (registry, "found .debug directory, ignoring");
|
||||
g_free (filename);
|
||||
continue;
|
||||
}
|
||||
/* FIXME 0.11: Don't recurse into directories, this behaviour
|
||||
* is inconsistent with other PATH environment variables
|
||||
*/
|
||||
if (level > 0) {
|
||||
GST_LOG_OBJECT (registry, "recursing into directory %s", filename);
|
||||
changed |= gst_registry_scan_path_level (registry, filename, level - 1);
|
||||
|
|
Loading…
Reference in a new issue