diff options
author | glebius <glebius@FreeBSD.org> | 2016-05-17 22:28:27 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2016-05-17 22:28:27 +0000 |
commit | 8a232783c3444677eb1faa3048123dda21767094 (patch) | |
tree | ccd86deeb58379db2f326456a2e165b650a17e07 /sys | |
parent | 1fbf92c3ea82371bfc10d47cb9dc715a18f1287b (diff) | |
download | FreeBSD-src-8a232783c3444677eb1faa3048123dda21767094.zip FreeBSD-src-8a232783c3444677eb1faa3048123dda21767094.tar.gz |
- Use unsigned version of min() when handling arguments of SETFKEY ioctl.
- Validate that user supplied control message length in sendmsg(2)
is not negative.
Security: SA-16:18
Security: CVE-2016-1886
Security: SA-16:19
Security: CVE-2016-1887
Submitted by: C Turt <cturt hardenedbsd.org>
Approved by: so
Diffstat (limited to 'sys')
-rw-r--r-- | sys/conf/newvers.sh | 2 | ||||
-rw-r--r-- | sys/dev/kbd/kbd.c | 2 | ||||
-rw-r--r-- | sys/kern/uipc_syscalls.c | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 5ad43e3..142bd8a 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="10.3" -BRANCH="RELEASE-p2" +BRANCH="RELEASE-p3" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c index 8036762..f1a1b29 100644 --- a/sys/dev/kbd/kbd.c +++ b/sys/dev/kbd/kbd.c @@ -996,7 +996,7 @@ genkbd_commonioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) splx(s); return (error); } - kbd->kb_fkeytab[fkeyp->keynum].len = imin(fkeyp->flen, MAXFK); + kbd->kb_fkeytab[fkeyp->keynum].len = min(fkeyp->flen, MAXFK); bcopy(fkeyp->keydef, kbd->kb_fkeytab[fkeyp->keynum].str, kbd->kb_fkeytab[fkeyp->keynum].len); break; diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index fa36849..97ca115 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -1787,6 +1787,9 @@ sockargs(mp, buf, buflen, type) struct mbuf *m; int error; + if (buflen < 0) + return (EINVAL); + if (buflen > MLEN) { #ifdef COMPAT_OLDSOCK if (type == MT_SONAME && buflen <= 112) |