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)
 |