diff options
author | Jacques Vidrine <nectar@FreeBSD.org> | 2003-10-03 13:07:38 +0000 |
---|---|---|
committer | Jacques Vidrine <nectar@FreeBSD.org> | 2003-10-03 13:07:38 +0000 |
commit | 13bba0f1a042803c0d4e5135d0d34ae838a3f9c3 (patch) | |
tree | 903d1ccf3f7820a73e1814c045e67c9f2a44c552 /sys/miscfs/procfs/procfs_regs.c | |
parent | 2dedd3f3699b615fdeabd02fe6544ad15764db9d (diff) | |
download | src-13bba0f1a042803c0d4e5135d0d34ae838a3f9c3.tar.gz src-13bba0f1a042803c0d4e5135d0d34ae838a3f9c3.zip |
Merge from RELENG_4: kern_subr.c 1.31.2.3, procfs_dbregs.c 1.4.2.4,
procfs_fpregs.c 1.11.2.4, procfs_regs.c 1.10.2.4,
procfs_rlimit.c 1.5.2.1, procfs_status.c 1.20.2.5, uio.h 1.11.2.2,
linprocfs_misc.c 1.3.2.9.
Correct several integer underflows/overflows in procfs and linprocfs.
Notes
Notes:
svn path=/releng/4.4/; revision=120689
Diffstat (limited to 'sys/miscfs/procfs/procfs_regs.c')
-rw-r--r-- | sys/miscfs/procfs/procfs_regs.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/miscfs/procfs/procfs_regs.c b/sys/miscfs/procfs/procfs_regs.c index ccde00af6da5..8604d0a4a9a7 100644 --- a/sys/miscfs/procfs/procfs_regs.c +++ b/sys/miscfs/procfs/procfs_regs.c @@ -65,22 +65,12 @@ procfs_doregs(curp, p, pfs, uio) return EAGAIN; if (!CHECKIO(curp, p) || p_trespass(curp, p)) return EPERM; - kl = sizeof(r); - kv = (char *) &r; - - kv += uio->uio_offset; - kl -= uio->uio_offset; - if (kl > uio->uio_resid) - kl = uio->uio_resid; PHOLD(p); - if (kl < 0) - error = EINVAL; - else - error = procfs_read_regs(p, &r); + error = procfs_read_regs(p, &r); if (error == 0) - error = uiomove(kv, kl, uio); + error = uiomove(&r, sizeof(r), uio); if (error == 0 && uio->uio_rw == UIO_WRITE) { if (p->p_stat != SSTOP) error = EBUSY; |