jack: check arguments

Guard against some evil jack clients
This commit is contained in:
Wim Taymans 2020-02-24 11:25:31 +01:00
parent 9bec2e5d8a
commit 9e44b957f0
4 changed files with 301 additions and 60 deletions

View file

@ -30,6 +30,8 @@ float jack_get_max_delayed_usecs (jack_client_t *client)
struct client *c = (struct client *) client;
float res = 0.0f;
spa_return_val_if_fail(c != NULL, 0.0);
if (c->driver_activation)
res = (float)c->driver_activation->max_delay / SPA_USEC_PER_SEC;
@ -43,6 +45,8 @@ float jack_get_xrun_delayed_usecs (jack_client_t *client)
struct client *c = (struct client *) client;
float res = 0.0f;
spa_return_val_if_fail(c != NULL, 0.0);
if (c->driver_activation)
res = (float)c->driver_activation->xrun_delay / SPA_USEC_PER_SEC;
@ -54,6 +58,9 @@ SPA_EXPORT
void jack_reset_max_delayed_usecs (jack_client_t *client)
{
struct client *c = (struct client *) client;
spa_return_if_fail(c != NULL);
if (c->driver_activation)
c->driver_activation->max_delay = 0;
}