27 lines
696 B
Diff
27 lines
696 B
Diff
--- sys/kern/sys_process.c.orig
|
|
+++ sys/kern/sys_process.c
|
|
@@ -518,6 +518,7 @@
|
|
struct ptrace_lwpinfo32 *pl32)
|
|
{
|
|
|
|
+ bzero(pl32, sizeof(*pl32));
|
|
pl32->pl_lwpid = pl->pl_lwpid;
|
|
pl32->pl_event = pl->pl_event;
|
|
pl32->pl_flags = pl->pl_flags;
|
|
@@ -1301,6 +1302,7 @@
|
|
} else
|
|
#endif
|
|
pl = addr;
|
|
+ bzero(pl, sizeof(*pl));
|
|
pl->pl_lwpid = td2->td_tid;
|
|
pl->pl_event = PL_EVENT_NONE;
|
|
pl->pl_flags = 0;
|
|
@@ -1321,8 +1323,6 @@
|
|
pl->pl_siginfo = td2->td_dbgksi.ksi_info;
|
|
}
|
|
}
|
|
- if ((pl->pl_flags & PL_FLAG_SI) == 0)
|
|
- bzero(&pl->pl_siginfo, sizeof(pl->pl_siginfo));
|
|
if (td2->td_dbgflags & TDB_SCE)
|
|
pl->pl_flags |= PL_FLAG_SCE;
|
|
else if (td2->td_dbgflags & TDB_SCX)
|