mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-25 07:43:54 +02:00
Reapply 5955dbc752
Author: Leland Lucius <github@homerow.net> Date: Wed Oct 2 10:17:00 2019 -0500 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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user