Re: [PATCH] ALSA: seq: initialize whole fields of automatic variable with union type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 30 Aug 2016 02:11:54 +0200,
Takashi Sakamoto wrote:
> 
> Currently, automatic variable of 'union ioctl_arg' type is initialized
> by designated initialization. Although, the actual effect is interpretation
> of early element of int type and initialization of 'int pversion'.
> Therefore the first field corresponding to int type is initialized to zero.
> This is against my expectation to initialize whole fields.
> 
> This commit uses memset() to initialize the variable, instead of designated
> initialization.
> 
> Fixes: 04a56dd8ed0d ('ALSA: seq: change ioctl command operation to get data in kernel space')
> Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
> ---
>  sound/core/seq/seq_clientmgr.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
> index 286394b..fd50c38 100644
> --- a/sound/core/seq/seq_clientmgr.c
> +++ b/sound/core/seq/seq_clientmgr.c
> @@ -2100,7 +2100,7 @@ static long snd_seq_ioctl(struct file *file, unsigned int cmd,
>  		struct snd_seq_client_pool	client_pool;
>  		struct snd_seq_remove_events	remove_events;
>  		struct snd_seq_query_subs	query_subs;
> -	} buf = {0};
> +	} buf;
>  	const struct ioctl_handler *handler;
>  	unsigned long size;
>  	int err;
> @@ -2114,6 +2114,9 @@ static long snd_seq_ioctl(struct file *file, unsigned int cmd,
>  	}
>  	if (handler->cmd == 0)
>  		return -ENOTTY;
> +
> +	memset(&buf, 0, sizeof(union ioctl_arg));

The common practice is to pass sizeof(buf).


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux