On Wed, 21 Aug 2019 at 09:49, Gerd Hoffmann <kra...@redhat.com> wrote: > > From: Kővágó, Zoltán <dirty.ice...@gmail.com> > > Audio functions no longer access glob_audio_state, instead they get an > AudioState as a parameter. This is required in order to support > multiple backends. > > glob_audio_state is also gone, and replaced with a tailq so we can store > more than one states. > > Signed-off-by: Kővágó, Zoltán <dirty.ice...@gmail.com> > Message-id: > 67aef54f9e729a7160fe95c465351115e392164b.1566168923.git.dirty.ice...@gmail.com > Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
Hi; Coverity spotted an issue in this patch: > diff --git a/audio/audio_template.h b/audio/audio_template.h > index c721fed75d7d..54f07338e76f 100644 > --- a/audio/audio_template.h > +++ b/audio/audio_template.h > @@ -428,7 +428,7 @@ SW *glue (AUD_open_, TYPE) ( > struct audsettings *as > ) > { > - AudioState *s = &glob_audio_state; > + AudioState *s = card->state; Here we dereference 'card'... > AudiodevPerDirectionOptions *pdo = glue(audio_get_pdo_, TYPE)(s->dev); > > if (audio_bug(__func__, !card || !name || !callback_fn || !as)) { ...but that is before this check on whether card is NULL. The deref needs to go after the NULL-check. This is issues CID 1405305 and 1405301 (one each for AUD_open_in and AUD_open_out). thanks -- PMM