diff options
author | 2001-10-30 05:15:37 +0000 | |
---|---|---|
committer | 2001-10-30 05:15:37 +0000 | |
commit | 00ec4190ad0a156874c49e8f89b816b60be2c47a (patch) | |
tree | ae8ff326669ec6452974d0181ea4535dc56ef68a | |
parent | vipw(8) invokes pwd_mkdb(8) automagically. (diff) | |
download | wireguard-openbsd-00ec4190ad0a156874c49e8f89b816b60be2c47a.tar.xz wireguard-openbsd-00ec4190ad0a156874c49e8f89b816b60be2c47a.zip |
do not allow setting autorepeat delays causing zero timeouts later.
pointed out for the case of del*=0 in pr@2156 by
Juan Vera <juan@coredump.com.ar>.
-rw-r--r-- | sys/dev/wscons/wskbd.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/wscons/wskbd.c b/sys/dev/wscons/wskbd.c index accd8e064f5..28859003267 100644 --- a/sys/dev/wscons/wskbd.c +++ b/sys/dev/wscons/wskbd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: wskbd.c,v 1.27 2001/10/25 14:30:43 drahn Exp $ */ +/* $OpenBSD: wskbd.c,v 1.28 2001/10/30 05:15:37 mickey Exp $ */ /* $NetBSD: wskbd.c,v 1.38 2000/03/23 07:01:47 thorpej Exp $ */ /* @@ -966,6 +966,11 @@ getbell: kkdp = &sc->sc_keyrepeat_data; setkeyrepeat: ukdp = (struct wskbd_keyrepeat_data *)data; + if ((ukdp->which & WSKBD_KEYREPEAT_DODEL1 && + (hz * ukdp->del1) / 1000 <= 0) || + (ukdp->which & WSKBD_KEYREPEAT_DODELN && + (hz * ukdp->delN) / 1000 <= 0)) + return (EINVAL); SETKEYREPEAT(kkdp, ukdp, kkdp); return (0); |