Validate params in all public API functions of LADSPA subsystem

This commit is contained in:
Marcus Weseloh 2017-11-20 20:35:24 +01:00
parent ce8fa7c387
commit 04285fcf48
2 changed files with 49 additions and 0 deletions

View file

@ -359,6 +359,8 @@ int fluid_ladspa_is_active(fluid_ladspa_fx_t *fx)
{
int is_active;
fluid_return_val_if_fail(fx != NULL, FALSE);
LADSPA_API_ENTER(fx);
is_active = (fluid_atomic_int_get(&fx->state) != FLUID_LADSPA_INACTIVE);
@ -376,6 +378,8 @@ int fluid_ladspa_activate(fluid_ladspa_fx_t *fx)
{
int i;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
@ -418,6 +422,8 @@ int fluid_ladspa_deactivate(fluid_ladspa_fx_t *fx)
{
int i;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
/* If we are already inactive, then simply return success */
@ -457,6 +463,8 @@ int fluid_ladspa_deactivate(fluid_ladspa_fx_t *fx)
*/
int fluid_ladspa_reset(fluid_ladspa_fx_t *fx)
{
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
@ -563,6 +571,9 @@ int fluid_ladspa_effect_can_mix(fluid_ladspa_fx_t *fx, const char *name)
int can_mix;
fluid_ladspa_effect_t *effect;
fluid_return_val_if_fail(fx != NULL, FALSE);
fluid_return_val_if_fail(name != NULL, FALSE);
LADSPA_API_ENTER(fx);
effect = get_effect(fx, name);
@ -591,6 +602,9 @@ int fluid_ladspa_effect_set_mix(fluid_ladspa_fx_t *fx, const char *name, int mix
{
fluid_ladspa_effect_t *effect;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(name != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
@ -668,6 +682,9 @@ int fluid_ladspa_host_port_exists(fluid_ladspa_fx_t *fx, const char *name)
{
fluid_ladspa_node_t *node;
fluid_return_val_if_fail(fx != NULL, FALSE);
fluid_return_val_if_fail(name != NULL, FALSE);
LADSPA_API_ENTER(fx);
node = get_node(fx, name);
@ -696,6 +713,9 @@ int fluid_ladspa_buffer_exists(fluid_ladspa_fx_t *fx, const char *name)
int exists;
fluid_ladspa_node_t *node;
fluid_return_val_if_fail(fx != NULL, FALSE);
fluid_return_val_if_fail(name != NULL, FALSE);
LADSPA_API_ENTER(fx);
node = get_node(fx, name);
@ -724,6 +744,10 @@ int fluid_ladspa_effect_port_exists(fluid_ladspa_fx_t *fx, const char *effect_na
fluid_ladspa_effect_t *effect;
int port_exists;
fluid_return_val_if_fail(fx != NULL, FALSE);
fluid_return_val_if_fail(effect_name != NULL, FALSE);
fluid_return_val_if_fail(port_name != NULL, FALSE);
LADSPA_API_ENTER(fx);
effect = get_effect(fx, effect_name);
@ -748,6 +772,9 @@ int fluid_ladspa_add_buffer(fluid_ladspa_fx_t *fx, const char *name)
{
fluid_ladspa_node_t *node;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(name != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
{
@ -780,6 +807,10 @@ int fluid_ladspa_effect_set_control(fluid_ladspa_fx_t *fx, const char *effect_na
fluid_ladspa_effect_t *effect;
int port_idx;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(effect_name != NULL, FLUID_FAILED);
fluid_return_val_if_fail(port_name != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
effect = get_effect(fx, effect_name);
@ -824,6 +855,10 @@ int fluid_ladspa_add_effect(fluid_ladspa_fx_t *fx, const char *effect_name,
{
fluid_ladspa_effect_t *effect;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(effect_name != NULL, FLUID_FAILED);
fluid_return_val_if_fail(lib_name != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
{
@ -882,6 +917,11 @@ int fluid_ladspa_effect_link(fluid_ladspa_fx_t *fx, const char *effect_name,
int port_flags;
int dir;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(effect_name != NULL, FLUID_FAILED);
fluid_return_val_if_fail(port_name != NULL, FLUID_FAILED);
fluid_return_val_if_fail(name != NULL, FLUID_FAILED);
LADSPA_API_ENTER(fx);
if (fluid_ladspa_is_active(fx))
@ -955,6 +995,13 @@ int fluid_ladspa_check(fluid_ladspa_fx_t *fx, char *err, int err_size)
const char *str2;
fluid_ladspa_effect_t *effect;
fluid_return_val_if_fail(fx != NULL, FLUID_FAILED);
fluid_return_val_if_fail(err_size >= 0, FLUID_FAILED);
if (err_size > 0 && err == NULL)
{
return FLUID_FAILED;
}
LADSPA_API_ENTER(fx);
/* Check that there is at least one effect */

View file

@ -5297,5 +5297,7 @@ int fluid_synth_set_channel_type(fluid_synth_t* synth, int chan, int type)
*/
fluid_ladspa_fx_t *fluid_synth_get_ladspa_fx(fluid_synth_t *synth)
{
fluid_return_val_if_fail(synth != NULL, NULL);
return synth->ladspa_fx;
}