diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/ladspa/search.c | 10 |
2 files changed, 16 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2009-01-08 Wim Taymans <wim.taymans@collabora.co.uk> + + Based on Patch by: Brian Cameron <brian dot cameron at sun dot com> + + * ext/ladspa/search.c: (LADSPAPluginSearch): + Avoid searching (null) paths or crashing on platforms where printing a + NULL string segfaults. Fixes #567004. + 2009-01-08 Jan Schmidt <jan.schmidt@sun.com> * ext/resindvd/resindvdbin.c: diff --git a/ext/ladspa/search.c b/ext/ladspa/search.c index 99e093a4..0b932140 100644 --- a/ext/ladspa/search.c +++ b/ext/ladspa/search.c @@ -98,13 +98,19 @@ LADSPAPluginSearch (LADSPAPluginSearchCallbackFunction fCallbackFunction) const char *pcEnd; const char *pcLADSPAPath; const char *pcStart; + char *search_path; /* thomasvs: I'm sorry, but I'm going to add glib stuff here. * I'm appending logical values for LADSPA_PATH here */ - pcLADSPAPath = g_strdup_printf ("%s:/usr/lib/ladspa:/usr/local/lib/ladspa", - getenv ("LADSPA_PATH")); + search_path = getenv ("LADSPA_PATH"); + if (search_path) { + pcLADSPAPath = g_strdup_printf ("%s:/usr/lib/ladspa:/usr/local/lib/ladspa", + search_path); + } else { + pcLADSPAPath = g_strdup ("/usr/lib/ladspa:/usr/local/lib/ladspa"); + } if (!pcLADSPAPath) { /* fprintf(stderr, */ |