diff options
Diffstat (limited to 'sys/kern/sys_process.c')
| -rw-r--r-- | sys/kern/sys_process.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index fcfbb7ca1123..8231b23e8fc7 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: sys_process.c,v 1.35 1998/02/04 22:32:36 eivind Exp $ + * $Id: sys_process.c,v 1.36 1998/02/06 12:13:27 eivind Exp $ */ #include <sys/param.h> @@ -409,6 +409,11 @@ ptrace(curp, uap) if ((u_int)uap->addr > (UPAGES * PAGE_SIZE - sizeof(int))) { return EFAULT; } + if (ptrace_read_u_check(p,(vm_offset_t) uap->addr, + sizeof(int)) && + !procfs_kmemaccess(curp)) { + return EFAULT; + } error = 0; PHOLD(p); /* user had damn well better be incore! */ if (p->p_flag & P_INMEM) { |
