diff options
author | 2010-05-02 11:15:29 +0000 | |
---|---|---|
committer | 2010-05-02 11:15:29 +0000 | |
commit | 885b52e9d7742ec3856eeb0b1cdd6fc162b4bf9c (patch) | |
tree | 2e506c7ef9915dbaacff4831d3d48cee7ca0ec9e /sys/kern/sys_process.c | |
parent | Don't systematically fill with silence the mixer output. This (diff) | |
download | wireguard-openbsd-885b52e9d7742ec3856eeb0b1cdd6fc162b4bf9c.tar.xz wireguard-openbsd-885b52e9d7742ec3856eeb0b1cdd6fc162b4bf9c.zip |
Use intermediate vaddr_t cast when casting a pointer to off_t. Prevents
gcc4 from complaining about casting a pointer to an integer type of different
size.
ok guenther@, jsg@
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r-- | sys/kern/sys_process.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 72a65276cff..e4473890395 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sys_process.c,v 1.44 2010/01/28 19:23:06 guenther Exp $ */ +/* $OpenBSD: sys_process.c,v 1.45 2010/05/02 11:15:29 kettenis Exp $ */ /* $NetBSD: sys_process.c,v 1.55 1996/05/15 06:17:47 tls Exp $ */ /*- @@ -261,7 +261,7 @@ sys_ptrace(struct proc *p, void *v, register_t *retval) iov.iov_len = sizeof(int); uio.uio_iov = &iov; uio.uio_iovcnt = 1; - uio.uio_offset = (off_t)(long)SCARG(uap, addr); + uio.uio_offset = (off_t)(vaddr_t)SCARG(uap, addr); uio.uio_resid = sizeof(int); uio.uio_segflg = UIO_SYSSPACE; uio.uio_rw = write ? UIO_WRITE : UIO_READ; @@ -279,7 +279,7 @@ sys_ptrace(struct proc *p, void *v, register_t *retval) iov.iov_len = piod.piod_len; uio.uio_iov = &iov; uio.uio_iovcnt = 1; - uio.uio_offset = (off_t)(long)piod.piod_offs; + uio.uio_offset = (off_t)(vaddr_t)piod.piod_offs; uio.uio_resid = piod.piod_len; uio.uio_segflg = UIO_USERSPACE; uio.uio_procp = p; @@ -641,7 +641,7 @@ process_auxv_offset(struct proc *curp, struct proc *p, struct uio *uiop) iov.iov_len = sizeof(pss); uio.uio_iov = &iov; uio.uio_iovcnt = 1; - uio.uio_offset = (off_t)PS_STRINGS; + uio.uio_offset = (off_t)(vaddr_t)PS_STRINGS; uio.uio_resid = sizeof(pss); uio.uio_segflg = UIO_SYSSPACE; uio.uio_rw = UIO_READ; @@ -653,15 +653,15 @@ process_auxv_offset(struct proc *curp, struct proc *p, struct uio *uiop) if (pss.ps_envstr == NULL) return (EIO); - uiop->uio_offset += (off_t)(long)(pss.ps_envstr + pss.ps_nenvstr + 1); + uiop->uio_offset += (off_t)(vaddr_t)(pss.ps_envstr + pss.ps_nenvstr + 1); #ifdef MACHINE_STACK_GROWS_UP - if (uiop->uio_offset < (off_t)PS_STRINGS) + if (uiop->uio_offset < (off_t)(vaddr_t)PS_STRINGS) return (EIO); #else - if (uiop->uio_offset > (off_t)PS_STRINGS) + if (uiop->uio_offset > (off_t)(vaddr_t)PS_STRINGS) return (EIO); - if ((uiop->uio_offset + uiop->uio_resid) > (off_t)PS_STRINGS) - uiop->uio_resid = (off_t)PS_STRINGS - uiop->uio_offset; + if ((uiop->uio_offset + uiop->uio_resid) > (off_t)(vaddr_t)PS_STRINGS) + uiop->uio_resid = (off_t)(vaddr_t)PS_STRINGS - uiop->uio_offset; #endif return (0); |