diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2000-09-29 23:23:39 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2000-09-29 23:23:39 +0000 |
commit | eba3d9a8c3da2513a04cfb6a6affc065435a25da (patch) | |
tree | e1e3dbe90c319cf4e66201c653e89c55a4300d80 /sys/dev/isa/spkr.c | |
parent | a692161ae748144f544a50e572a406369c34606a (diff) |
Check N command operand value to prevent a panic with large values.
Problem found by Thomas Coffy <karma@bsdfr.org>
Diffstat (limited to 'sys/dev/isa/spkr.c')
-rw-r--r-- | sys/dev/isa/spkr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/isa/spkr.c b/sys/dev/isa/spkr.c index d1d28e6aad6..7d09e5b4914 100644 --- a/sys/dev/isa/spkr.c +++ b/sys/dev/isa/spkr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: spkr.c,v 1.2 1999/01/02 00:58:12 niklas Exp $ */ +/* $OpenBSD: spkr.c,v 1.3 2000/09/29 23:23:38 miod Exp $ */ /* $NetBSD: spkr.c,v 1.1 1998/04/15 20:26:18 drochner Exp $ */ /* @@ -172,7 +172,7 @@ playtone(pitch, value, sustain) if (pitch == -1) rest(whole * snum / (value * sdenom)); - else + else if (pitch >= 0 && pitch < sizeof(pitchtab)) { sound = (whole * snum) / (value * sdenom) - (whole * (FILLTIME - fill)) / (value * FILLTIME); |