1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-25 07:43:54 +02:00

Possible fix for bug #590

This change reduces the risk of LADSPA plugins referencing
Audacity symbols by using the RTLD_DEEPBIND flag when loading
the plugins.

It also addresses an issue specific to the "blop" plugins where
they load their own libraries (without RTLD_DEEPBIND).

A much better solution would be to change Audacity's default
symbol visibility to "hidden" which would expose ONLY symbols
specificially marked as visible.
This commit is contained in:
Leland Lucius
2019-10-02 10:17:00 -05:00
parent 9e51dba3db
commit 5955dbc752
4 changed files with 33 additions and 8 deletions

View File

@@ -14,7 +14,7 @@
#define HASHELEM(p) ((p).symbol_name)
#define HASHVAL 50
#define HASHENTRIES 50
#define HASHENTER lookup
#define HASHENTER hash_lookup
#define HASHNOCOPY
#include "hashrout.h"
@@ -23,7 +23,7 @@ void defvar(name, addr)
char *name;
int *addr;
{
int i = lookup(name);
int i = hash_lookup(name);
HASHENTRY(i).symb_type = var_symb_type;
HASHENTRY(i).ptr.intptr = addr;
}
@@ -33,7 +33,7 @@ void defun(name, addr)
char *name;
int (*addr)();
{
int i = lookup(name);
int i = hash_lookup(name);
HASHENTRY(i).symb_type = fn_symb_type;
HASHENTRY(i).ptr.routine = addr;
}
@@ -44,7 +44,7 @@ void defvec(name, addr, size)
int *addr;
int size;
{
int i = lookup(name);
int i = hash_lookup(name);
HASHENTRY(i).symb_type = vec_symb_type;
HASHENTRY(i).size = size;
HASHENTRY(i).ptr.intptr = addr;