[-,PCM,rate,1/1] pcm: rate: Use signed variable for return of snd_pcm_avail_update
diff mbox

Message ID 1530703736-2207-1-git-send-email-twischer@de.adit-jv.com
State New
Headers show

Commit Message

Timo Wischer July 4, 2018, 11:28 a.m. UTC
From: Timo Wischer <twischer@de.adit-jv.com>

Without this changes a negative error code returned by
snd_pcm_avail_update() will be not handled correctly

Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>

Comments

Takashi Iwai July 4, 2018, 1:31 p.m. UTC | #1
On Wed, 04 Jul 2018 13:28:56 +0200,
<twischer@de.adit-jv.com> wrote:
> 
> From: Timo Wischer <twischer@de.adit-jv.com>
> 
> Without this changes a negative error code returned by
> snd_pcm_avail_update() will be not handled correctly
> 
> Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>

This is not about use signed value, but it *adds* the missing error
check from snd_pcm_avail_update().  So, please adjust the subject and
the changelog what you're actually fixing instead.


thanks,

Takashi

> diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
> index 4e0c7ca..031a43d 100644
> --- a/src/pcm/pcm_rate.c
> +++ b/src/pcm/pcm_rate.c
> @@ -970,9 +970,12 @@ static snd_pcm_sframes_t snd_pcm_rate_avail_update(snd_pcm_t *pcm)
>  {
>  	snd_pcm_rate_t *rate = pcm->private_data;
>  	snd_pcm_t *slave = rate->gen.slave;
> -	snd_pcm_uframes_t slave_size;
> +	snd_pcm_sframes_t slave_size;
>  
>  	slave_size = snd_pcm_avail_update(slave);
> +	if (slave_size < 0)
> +		return slave_size;
> +
>  	if (pcm->stream == SND_PCM_STREAM_CAPTURE)
>  		goto _capture;
>  	snd_pcm_rate_sync_hwptr(pcm);
> -- 
> 2.7.4
>

Patch
diff mbox

diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c
index 4e0c7ca..031a43d 100644
--- a/src/pcm/pcm_rate.c
+++ b/src/pcm/pcm_rate.c
@@ -970,9 +970,12 @@  static snd_pcm_sframes_t snd_pcm_rate_avail_update(snd_pcm_t *pcm)
 {
 	snd_pcm_rate_t *rate = pcm->private_data;
 	snd_pcm_t *slave = rate->gen.slave;
-	snd_pcm_uframes_t slave_size;
+	snd_pcm_sframes_t slave_size;
 
 	slave_size = snd_pcm_avail_update(slave);
+	if (slave_size < 0)
+		return slave_size;
+
 	if (pcm->stream == SND_PCM_STREAM_CAPTURE)
 		goto _capture;
 	snd_pcm_rate_sync_hwptr(pcm);