summaryrefslogtreecommitdiffstats
path: root/sys/kern/sys_process.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1997-11-12 12:28:12 +0000
committertegge <tegge@FreeBSD.org>1997-11-12 12:28:12 +0000
commit3e11b7299f24ee61bf6461c3c13115d7b0f5f9b0 (patch)
tree62589449db87994ce726a0c340e7a26490b7c81a /sys/kern/sys_process.c
parentedc9fb186f3e84e0f9274554377c5dc0fb05ed57 (diff)
downloadFreeBSD-src-3e11b7299f24ee61bf6461c3c13115d7b0f5f9b0.zip
FreeBSD-src-3e11b7299f24ee61bf6461c3c13115d7b0f5f9b0.tar.gz
Set return value for the correct process in ptrace().
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r--sys/kern/sys_process.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 9ae7569..28007f72 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.30 1997/09/02 20:05:53 bde Exp $
+ * $Id: sys_process.c,v 1.31 1997/11/06 19:29:22 phk Exp $
*/
#include <sys/param.h>
@@ -303,7 +303,7 @@ ptrace(curp, uap)
*/
write = 0;
- p->p_retval[0] = 0;
+ curp->p_retval[0] = 0;
switch (uap->req) {
case PT_TRACE_ME:
@@ -380,7 +380,7 @@ ptrace(curp, uap)
case PT_READ_I:
case PT_READ_D:
/* write = 0 set above */
- iov.iov_base = write ? (caddr_t)&uap->data : (caddr_t)p->p_retval;
+ iov.iov_base = write ? (caddr_t)&uap->data : (caddr_t)curp->p_retval;
iov.iov_len = sizeof(int);
uio.uio_iov = &iov;
uio.uio_iovcnt = 1;
@@ -414,9 +414,9 @@ ptrace(curp, uap)
if (p->p_flag & P_INMEM) {
p->p_addr->u_kproc.kp_proc = *p;
fill_eproc (p, &p->p_addr->u_kproc.kp_eproc);
- p->p_retval[0] = *(int*)((u_int)p->p_addr + (u_int)uap->addr);
+ curp->p_retval[0] = *(int*)((u_int)p->p_addr + (u_int)uap->addr);
} else {
- p->p_retval[0] = 0;
+ curp->p_retval[0] = 0;
error = EFAULT;
}
PRELE(p);
OpenPOWER on IntegriCloud