[alsa-devel] [PATCH 4/4 v2] alsa-lib: fixed coverity reported issues under "USE_AFTER_FREE" checker.

Paul Menzel paulepanter at users.sourceforge.net
Mon Apr 4 10:05:48 CEST 2011


Am Montag, den 04.04.2011, 10:27 +0300 schrieb sudarshan.bisht at nokia.com:
> From: Sudarshan <sudarshan.bisht at nokia.com>

Please use your first name and name. You can set that up using the
following command.

        git config user.name "Sudarshan Bisht" # If the order is
        correct.

> ---
>  modules/mixer/simple/python.c |    1 +
>  src/control/control_hw.c      |    1 +
>  src/mixer/mixer.c             |    1 -
>  src/mixer/simple_abst.c       |    2 ++
>  4 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/modules/mixer/simple/python.c b/modules/mixer/simple/python.c
> index c822c52..784d9a0 100644
> --- a/modules/mixer/simple/python.c
> +++ b/modules/mixer/simple/python.c
> @@ -663,6 +663,7 @@ pymixer_attach_hctl(struct pymixer *pymixer, PyObject *args)
>  		return NULL;
>  	err = snd_mixer_attach_hctl(pymixer->mixer, hctl);
>  	if (err < 0) {
> +		snd_hctl_close(hctl);
>  		PyErr_Format(PyExc_RuntimeError, "Cannot attach hctl: %s", snd_strerror(err));
>  		return NULL;
>  	}
> diff --git a/src/control/control_hw.c b/src/control/control_hw.c
> index cf258b4..16c4987 100644
> --- a/src/control/control_hw.c
> +++ b/src/control/control_hw.c
> @@ -414,6 +414,7 @@ int snd_ctl_hw_open(snd_ctl_t **handle, const char *name, int card, int mode)
>  	if (err < 0) {
>  		close(fd);
>  		free(hw);
> +		return err;
>  	}
>  	ctl->ops = &snd_ctl_hw_ops;
>  	ctl->private_data = hw;
> diff --git a/src/mixer/mixer.c b/src/mixer/mixer.c
> index 85d843f..5e5789a 100644
> --- a/src/mixer/mixer.c
> +++ b/src/mixer/mixer.c
> @@ -228,7 +228,6 @@ int snd_mixer_attach_hctl(snd_mixer_t *mixer, snd_hctl_t *hctl)
>  		return -ENOMEM;
>  	err = snd_hctl_nonblock(hctl, 1);
>  	if (err < 0) {
> -		snd_hctl_close(hctl);
>  		free(slave);
>  		return err;
>  	}
> diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
> index 9e9aaf5..127d8d2 100644
> --- a/src/mixer/simple_abst.c
> +++ b/src/mixer/simple_abst.c
> @@ -336,6 +336,8 @@ int snd_mixer_simple_basic_register(snd_mixer_t *mixer,
>  		err = find_module(class, top);
>  	if (err >= 0)
>  		err = snd_mixer_attach_hctl(mixer, priv->hctl);
> +		if(err < 0) 

Missing space after `if` and trailing space at the end. You can use `git
diff --check` for that.

> +			 goto __error;		
>  	if (err >= 0) {
>  		priv->attach_flag = 1;
>  		err = snd_mixer_class_register(class, mixer);

Additionally I would use a different commit summary what is done and
write what you have now there into the commit message.


Thanks,

Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20110404/049d7163/attachment.sig 


More information about the Alsa-devel mailing list