aplay: Fix out-of-bound access in stereo VU meter drawing

The left channel drawing of a stereo VU meter has a bug where it may
access a negative array index.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2021-08-24 10:06:05 +02:00
parent 2efe124c31
commit dea51861a8

View file

@ -1758,10 +1758,12 @@ static void print_vu_meter_stereo(int *perc, int *maxperc)
if (c)
memset(line + bar_length + 6 + 1, '#', p);
else
memset(line + bar_length - p - 1, '#', p);
p = maxperc[c] * bar_length / 100;
if (p > bar_length)
p = bar_length;
memset(line + bar_length - p, '#', p);
p = maxperc[c] * bar_length / 100 - 1;
if (p < 0)
p = 0;
else if (p >= bar_length)
p = bar_length - 1;
if (c)
line[bar_length + 6 + 1 + p] = '+';
else