Fix to Utilities/Zonk on the Usenix '87 software tape
    Ken Lalonde 
    kwlalonde at watmath.waterloo.edu
       
    Thu Mar  3 10:10:35 AEST 1988
    
    
  
The version of "zonk" I posted to net.sources in September of '85
contained a serious bug.  I posted a fix to net.sources some time
later.  The version of zonk on the Usenix '87 tape still has the bug.
The patch below fixes the bug, and works for 4.3BSD as well as 4.2.
*** sys_zonk.c.old	Wed Mar  2 18:52:39 1988
--- sys_zonk.c	Wed Mar  2 18:58:13 1988
***************
*** 21,31 ****
  		u.u_error = EINVAL;
  		return;
  	}
! 	for (count = 0, p = proc; p < procNPROC; p++)
  		if (p->p_uid == uid) {
  			count++;
  			if (sig)
  				psignal(p, sig);
  		}
  	u.u_r.r_val1 = count;
  }
--- 21,39 ----
  		u.u_error = EINVAL;
  		return;
  	}
! 	count = 0;
! #ifdef BSD4_3
! 	for (p = allproc; p != NULL; p = p->p_nxt) {
! #else
! 	for (p = proc; p < procNPROC; p++) {
! 		if (p->p_stat == NULL)
! 			continue;
! #endif
  		if (p->p_uid == uid) {
  			count++;
  			if (sig)
  				psignal(p, sig);
  		}
+ 	}
  	u.u_r.r_val1 = count;
  }
    
    
More information about the Comp.org.usenix
mailing list