Subject: kern/16652: uaudio(4) mixer values can wrap around from 255 to 0.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <svs@ropnet.ru>
List: netbsd-bugs
Date: 05/03/2002 18:59:07
>Number: 16652
>Category: kern
>Synopsis: uaudio(4) mixer values can wrap around from 255 to 0.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri May 03 19:00:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Sergey Svishchev
>Release: 1.5ZC
>Organization:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
Index: sys/dev/usb/uaudio.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/usb/uaudio.c,v
retrieving revision 1.56
diff -u -r1.56 uaudio.c
--- uaudio.c 2002/03/23 17:17:11 1.56
+++ uaudio.c 2002/04/29 22:21:26
@@ -1654,9 +1654,14 @@
mc->type, val, mc->minval, mc->maxval));
if (mc->type == MIX_ON_OFF)
val = (val != 0);
- else
+ else {
val = ((uaudio_signext(mc->type, val) - mc->minval) * 256
+ mc->mul/2) / mc->mul;
+ if (val < 0)
+ val = 0;
+ if (val > 255)
+ val = 255;
+ }
DPRINTFN(5, ("val'=%d\n", val));
return (val);
}
>Release-Note:
>Audit-Trail:
>Unformatted: