[alsa-devel] [PATCH 4/4] aplay: Limit VUMeter progress bar to 100 for negative as well
Takashi Iwai
tiwai at suse.de
Wed Nov 20 07:48:44 CET 2019
On Wed, 20 Nov 2019 07:36:19 +0100,
Rosen Penev wrote:
>
> On Tue, Nov 19, 2019 at 10:26 PM Takashi Iwai <tiwai at suse.de> wrote:
> >
> > 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.
> Sure. But best to silence GCC. It probably optimizes better this way.
I guess this adds more code in binary. Comparing with 99U would work?
Takashi
> >
> >
> > thanks,
> >
> > Takashi
> >
> > >
> > > Signed-off-by: Rosen Penev <rosenp at gmail.com>
> > > ---
> > > 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 at alsa-project.org
> > > https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> > >
>
More information about the Alsa-devel
mailing list