[alsa-devel] [PATCH 1/1] alsa-lib: fixed coverity reported issues under "REVERSE_INULL" checker.

Sudarshan Bisht sudarshan.bisht at nokia.com
Thu Mar 17 15:02:31 CET 2011


On Thu, 2011-03-17 at 12:29 +0100, ext Clemens Ladisch wrote:
> sudarshan.bisht at nokia.com wrote:
> > --- a/src/control/setup.c
> > +++ b/src/control/setup.c
> > @@ -398,7 +398,7 @@ static int snd_config_get_ctl_elem_value(snd_config_t *conf,
> >  
> >  static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data)
> >  {
> > -	snd_config_t *conf;
> > +	snd_config_t *conf = NULL ;
> >  	snd_config_iterator_t i, next;
> >  	char *tmp;
> >  	int iface = SND_CTL_ELEM_IFACE_MIXER;
> > @@ -415,6 +415,7 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da
> >  	err = snd_config_expand(_conf, _conf, NULL, private_data, &conf);
> >  	if (err < 0)
> >  		return err;
> > +	assert(conf);
> >  	snd_config_for_each(i, next, conf) {
> >  		snd_config_t *n = snd_config_iterator_entry(i);
> >  		const char *id;
> 
> The last parameter of snd_config_expand() is an output parameter, and
> it is guaranteed that this parameter is set when the function succeeds.
> 
> If Coverity isn't able to derive this from the code, it might be
> defensible to add annotations to snd_config_expand() to make the
> semantics clear, but it is not acceptable to modify each caller just
> to work around shortcomings in a tool.
Ok. 
> 
> 
> Regards,
> Clemens




More information about the Alsa-devel mailing list