From 5a016b583b5c949253a9e791ad79f13e54f87054 Mon Sep 17 00:00:00 2001 From: Clemens Ladisch Date: Fri, 19 Feb 2010 17:07:20 +0100 Subject: alsamixer: fix division by zero The attempt to divide by max-min fails if a control has only one valid value. In this case, adjust the maximum so that the computation can succeed; the control will look like 0%. Signed-off-by: Clemens Ladisch --- alsamixer/mixer_display.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/alsamixer/mixer_display.c b/alsamixer/mixer_display.c index 9eadcc9..260c9b0 100644 --- a/alsamixer/mixer_display.c +++ b/alsamixer/mixer_display.c @@ -462,6 +462,8 @@ static void display_control(unsigned int control_index) err = snd_mixer_selem_get_capture_volume_range(control->elem, &min, &max); if (err < 0) return; + if (min == max) + max = min + 1; if (control->flags & IS_ACTIVE) wattrset(mixer_widget.window, 0); -- cgit v1.2.1