[alsa-devel] alsamixer crashes with SIGFPE
Hi,
there are several spots in alsamixer's mixer_display.c that cause SIGFPE through division by zero if (max-min) is zero:
bar_height = ((volumes[c] - min) * volume_height + max - min - 1) / (max - min);
value = ((volumes[0] - min) * 100 + (max - min) / 2) / (max - min);
etc.
Flo
Florian Faber wrote:
there are several spots in alsamixer's mixer_display.c that cause SIGFPE through division by zero if (max-min) is zero:
bar_height = ((volumes[c] - min) * volume_height + max - min - 1) / (max - min); value = ((volumes[0] - min) * 100 + (max - min) / 2) / (max - min);
Thanks. With which hardware do you see this error?
Regards, Clemens
Clemens,
bar_height = ((volumes[c] - min) * volume_height + max - min - 1) / (max - min); value = ((volumes[0] - min) * 100 + (max - min) / 2) / (max - min);
Thanks. With which hardware do you see this error?
I tried it with the hdspm driver after seeing all the complaints about hdsp no longer working with 2.6.32.
Unfortunately cannot look into that as I no longer have hdsp cards around.
Flo
Florian Faber wrote:
bar_height = ((volumes[c] - min) * volume_height + max - min - 1) / (max - min); value = ((volumes[0] - min) * 100 + (max - min) / 2) / (max - min);
Thanks. With which hardware do you see this error?
I tried it with the hdspm driver after seeing all the complaints about hdsp no longer working with 2.6.32.
That driver does not appear to have any controls where min==max. Anyway, I've fixed alsamixer.
The hdsp problems are probably caused by the firmware loader change.
Regards, Clemens
participants (2)
-
Clemens Ladisch
-
Florian Faber