mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-25 15:53:52 +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:
@@ -471,7 +471,7 @@ private void docall()
|
||||
if (fieldx == 1) fferror("Routine name expected");
|
||||
else if (token[fieldx] != '(') fferror("Open paren expected");
|
||||
else {
|
||||
desc = &HASHENTRY(lookup(symbol));
|
||||
desc = &HASHENTRY(hash_lookup(symbol));
|
||||
if (!desc->symb_type) {
|
||||
fieldx = 0;
|
||||
fferror("Function not defined");
|
||||
@@ -1038,7 +1038,7 @@ private void doset(vec_flag)
|
||||
linex += scan();
|
||||
if (!token[0]) fferror("Variable name expected");
|
||||
else {
|
||||
struct symb_descr *desc = &HASHENTRY(lookup(token));
|
||||
struct symb_descr *desc = &HASHENTRY(hash_lookup(token));
|
||||
if (!desc->symb_type) fferror("Called function not defined");
|
||||
else if (vec_flag && (desc->symb_type != vec_symb_type)) {
|
||||
fferror("This is not an array");
|
||||
|
||||
Reference in New Issue
Block a user