Make sure that the calculated max_peak[] won't go beyond the sample max resolution. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> --- aplay/aplay.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/aplay/aplay.c b/aplay/aplay.c index 2543de5b6cd8..a51a37ba34bd 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -1898,6 +1898,8 @@ static void compute_max_peak(u_char *data, size_t samples) max = 0x7fffffff; for (c = 0; c < ichans; c++) { + if (max_peak[c] > max) + max_peak[c] = max; if (bits_per_sample > 16) perc[c] = max_peak[c] / (max / 100); else -- 2.26.2