[PATCH alsa-utils 4/5] aplay: Handle upper bound in peak calculations

Takashi Iwai tiwai at suse.de
Tue Aug 24 11:47:55 CEST 2021


Make sure that the calculated max_peak[] won't go beyond the sample
max resolution.

Signed-off-by: Takashi Iwai <tiwai at suse.de>
---
 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



More information about the Alsa-devel mailing list