diff options
author | hselasky <hselasky@FreeBSD.org> | 2015-05-10 17:11:04 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2015-05-10 17:11:04 +0000 |
commit | cf94a1d327f2e4882633576d43e3e8ce30c8dae3 (patch) | |
tree | 57d145f1891ee023b6511884371dcbc480fd0488 /sys/dev/vt | |
parent | 8ae6fa0eb6d5fbd0626127be3f6d2cd2b3d604f6 (diff) | |
download | FreeBSD-src-cf94a1d327f2e4882633576d43e3e8ce30c8dae3.zip FreeBSD-src-cf94a1d327f2e4882633576d43e3e8ce30c8dae3.tar.gz |
Ensure the result from signed subtraction under modulus does not
become negative.
Submitted by: Oliver Pinter <oliver.pinter@hardenedbsd.org>
MFC after: 3 days
Diffstat (limited to 'sys/dev/vt')
-rw-r--r-- | sys/dev/vt/vt_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index e6603a9..ecd5267 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -785,7 +785,7 @@ vt_processkey(keyboard_t *kbd, struct vt_device *vd, int c) return (0); case PREV: /* Switch to previous VT. */ - c = (vw->vw_number - 1) % VT_MAXWINDOWS; + c = (vw->vw_number + VT_MAXWINDOWS - 1) % VT_MAXWINDOWS; vw = vd->vd_windows[c]; vt_proc_window_switch(vw); return (0); |