[Spice-devel] [PATCH v9 11/11] sound: Use memcpy instead of manually copy volume array

Jonathon Jongsma jjongsma at redhat.com
Thu Dec 22 17:20:18 UTC 2016


On Tue, 2016-12-20 at 17:44 +0000, Frediano Ziglio wrote:
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  server/sound.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/server/sound.c b/server/sound.c
> index 351cd8d..836a525 100644
> --- a/server/sound.c
> +++ b/server/sound.c
> @@ -386,7 +386,6 @@ static int
> snd_playback_send_migrate(PlaybackChannelClient *client)
>  static int snd_send_volume(SndChannelClient *client, uint32_t cap,
> int msg)
>  {
>      SpiceMsgAudioVolume *vol;
> -    uint8_t c;
>      RedChannelClient *rcc = RED_CHANNEL_CLIENT(client);
>      SpiceMarshaller *m = red_channel_client_get_marshaller(rcc);
>      SndChannel *channel =
> SND_CHANNEL(red_channel_client_get_channel(rcc));
> @@ -400,9 +399,8 @@ static int snd_send_volume(SndChannelClient
> *client, uint32_t cap, int msg)
>                   st->volume_nchannels * sizeof (uint16_t));
>      red_channel_client_init_send_data(rcc, msg);
>      vol->nchannels = st->volume_nchannels;
> -    for (c = 0; c < st->volume_nchannels; ++c) {
> -        vol->volume[c] = st->volume[c];
> -    }
> +    SPICE_VERIFY(sizeof(vol->volume[0]) == sizeof(st->volume[0]));
> +    memcpy(vol->volume, st->volume, sizeof(st->volume[0] * st-
> >volume_nchannels));

This doesn't look right to me. Shouldn't the third argument be 

	sizeof(st->volume[0]) * st->volume_nchannels

instead of

	sizeof(st->volume[0] * st->volume_nchannels)



>      spice_marshall_SpiceMsgAudioVolume(m, vol);
>  
>      red_channel_client_begin_send_message(rcc);

Reviewed-by: Jonathon Jongsma <jjongsma at redhat.com>




More information about the Spice-devel mailing list