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

Sudarshan Bisht sudarshan.bisht at nokia.com
Mon Mar 21 09:29:21 CET 2011


On Fri, 2011-03-18 at 15:05 +0100, ext Clemens Ladisch wrote:
> Sudarshan Bisht wrote:
> > On Thu, 2011-03-17 at 13:08 +0100, ext Clemens Ladisch wrote:
> > > sudarshan.bisht at nokia.com wrote:
> > > > --- a/src/conf.c
> > > > +++ b/src/conf.c
> > > > @@ -3321,9 +3321,11 @@ static int snd_config_hooks_call(snd_config_t *root, snd_config_t *config, snd_c
> > > >  		snd_config_delete(func_conf);
> > > >  	if (err >= 0) {
> > > >  		snd_config_t *nroot;
> > > > -		err = func(root, config, &nroot, private_data);
> > > > -		if (err < 0)
> > > > -			SNDERR("function %s returned error: %s", func_name, snd_strerror(err));
> > > > +		if (func) {
> > > > +			err = func(root, config, &nroot, private_data);
> > > > +			if (err < 0)
> > > > +				SNDERR("function %s returned error: %s", func_name, snd_strerror(err));
> > > > +		}
> > > 
> > > The preceding "!func" and "err >= 0" checks already guarantee that
> > > func is valid.
> > 
> > But in case of "goto _err"  , "!func" and "err >= 0" are not going to be
> > checked.
> 
> "err >= 0" is checked, and in all error cases, err must be negative;
> if not, this is bug at that place and should be fixed before that goto.
> I now see that the TYPE_COMPOUND check forgets to set "err = -EINVAL;".
> 
Yes, now I got your point, and I will take care of this in all cases. 

> 
> Regards,
> Clemens




More information about the Alsa-devel mailing list