From: Takashi Iwai Date: Tue, 24 Aug 2021 08:06:05 +0000 (+0200) Subject: aplay: Fix out-of-bound access in stereo VU meter drawing X-Git-Tag: v1.2.6~20 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=dea51861a8626694c6e80121c17a0a38efc2e33c;p=alsa-utils.git 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 --- diff --git a/aplay/aplay.c b/aplay/aplay.c index a51a37b..63a4e34 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -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