summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2015-02-25 05:56:16 +0000
committerdelphij <delphij@FreeBSD.org>2015-02-25 05:56:16 +0000
commitb69ba8fe10a0df78165b9e34091ed7cadb989de2 (patch)
tree0d1cd5f4c2b24bd9f8b8387ba6ad41aeb8b5d8e4 /sys/dev
parent02d2873b419d69120c7ee1b98d152a5c0931f043 (diff)
downloadFreeBSD-src-b69ba8fe10a0df78165b9e34091ed7cadb989de2.zip
FreeBSD-src-b69ba8fe10a0df78165b9e34091ed7cadb989de2.tar.gz
Fix integer overflow in IGMP protocol. [SA-15:04]
Fix vt(4) crash with improper ioctl parameters. [EN-15:01] Updated base system OpenSSL to 1.0.1l. [EN-15:02] Fix freebsd-update libraries update ordering issue. [EN-15:03] Approved by: so
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/vt/vt_core.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c
index 0ad06dd..cacba7f 100644
--- a/sys/dev/vt/vt_core.c
+++ b/sys/dev/vt/vt_core.c
@@ -2340,20 +2340,23 @@ skip_thunk:
}
VT_UNLOCK(vd);
return (EINVAL);
- case VT_WAITACTIVE:
+ case VT_WAITACTIVE: {
+ unsigned int idx;
+
error = 0;
- i = *(unsigned int *)data;
- if (i > VT_MAXWINDOWS)
+ idx = *(unsigned int *)data;
+ if (idx > VT_MAXWINDOWS)
return (EINVAL);
- if (i != 0)
- vw = vd->vd_windows[i - 1];
+ if (idx > 0)
+ vw = vd->vd_windows[idx - 1];
VT_LOCK(vd);
while (vd->vd_curwindow != vw && error == 0)
error = cv_wait_sig(&vd->vd_winswitch, &vd->vd_lock);
VT_UNLOCK(vd);
return (error);
+ }
case VT_SETMODE: { /* set screen switcher mode */
struct vt_mode *mode;
struct proc *p1;
OpenPOWER on IntegriCloud