Re: [PATCH 4/4] aplay: Limit VUMeter progress bar to 100 for negative as well

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

 



On Wed, 20 Nov 2019 05:28:56 +0100,
Rosen Penev wrote:
> 
> If the progress bar somehow becomes negative, it ends up overwritting
> tmp. Fixes this GCC warning:
> 
> aplay.c:1747:18: warning: '%02d' directive writing between 2 and 11 bytes
>  into a region of size 4 [-Wformat-overflow=]
>  1747 |    sprintf(tmp, "%02d%%", maxperc[c]);

This is false-positive.  The value passed there is guaranteed to be a 
positive integer at the calculation time.


thanks,

Takashi

> 
> Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
> ---
>  aplay/aplay.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/aplay/aplay.c b/aplay/aplay.c
> index 72fa567..9c5a11b 100644
> --- a/aplay/aplay.c
> +++ b/aplay/aplay.c
> @@ -54,6 +54,8 @@
>  #include "formats.h"
>  #include "version.h"
>  
> +#define ABS(a)  (a) < 0 ? -(a) : (a)
> +
>  #ifdef SND_CHMAP_API_VERSION
>  #define CONFIG_SUPPORT_CHMAP	1
>  #endif
> @@ -1741,7 +1743,7 @@ static void print_vu_meter_stereo(int *perc, int *maxperc)
>  			line[bar_length + 6 + 1 + p] = '+';
>  		else
>  			line[bar_length - p - 1] = '+';
> -		if (maxperc[c] > 99)
> +		if (ABS(maxperc[c]) > 99)
>  			sprintf(tmp, "MAX");
>  		else
>  			sprintf(tmp, "%02d%%", maxperc[c]);
> -- 
> 2.23.0
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@xxxxxxxxxxxxxxxx
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



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

  Powered by Linux