1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-22 15:20:15 +02:00
Leland Lucius 5955dbc752 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.
2019-10-02 10:17:00 -05:00

36 lines
938 B
C

/* cmtcmd.h -- header for remote action and variable setting interface */
#define var_symb_type 333
#define fn_symb_type 555
#define vec_symb_type 777
#ifdef AMIGA
struct cmd_msg {
struct Message msg;
long symb_type; /* one of var_, fn_, or vec_symb_type */
char *symbol_name;
long the_args[8]; /* args for function call. If var_symb_type,
the_args[0] is the new value. If vec_symb_type,
the_args[0] is index, the_args[1] is new value. */
};
#endif
typedef struct symb_descr {
char *symbol_name;
int symb_type;
int size; /* for array bounds checking */
union {
int *intptr;
int (*routine)();
} ptr;
} symb_descr_node;
int hash_lookup(char *s);
void defvar(char *name, int *addr);
void defvec(char *name, int *addr, int size);
typedef int (*defun_type)();
void defun(char *name, defun_type addr);
#define HASHTYPE symb_descr_node
#include "hash.h"