Subject: kern/3351: fill_eproc() doesn't fill e_login
To: None <gnats-bugs@gnats.netbsd.org>
From: None <gwing@primenet.com.au>
List: netbsd-bugs
Date: 03/18/1997 10:35:11
>Number:         3351
>Category:       kern
>Synopsis:       fill_eproc() doesn't fill e_login
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 18 02:50:02 1997
>Last-Modified:
>Originator:     Geoff Wing
>Organization:
Geoff Wing [mason@primenet.com.au]   Technical Manager
  Phone    : +61-3-9818 2977         PrimeNet - Internet Consultancy
  Facsimile: +61-3-9819 3788         Web : <URL:http://www.primenet.com.au/>
  Mobile   : 0412 162 441
>Release:        -current to at least a couple of months ago
>Environment:
System: NetBSD coral.primenet.com.au 1.2C NetBSD 1.2C (CORAL) #1: Tue Mar 11 01:52:39 EST 1997 root@coral.primenet.com.au:/src/netbsd/src/sys/arch/i386/compile/CORAL i386


>Description:
	fill_eproc() in sys/kern/kern_sysctl.c doesn't fill in eproc->e_login
	so output by /bin/ps can have rubbish entries

>How-To-Repeat:
	/bin/ps -o logname

>Fix:
	I believe that each part of p->p_pgrp->pg_session->s_login can be
	guaranteed to be valid.  Is that correct?


*** /usr/src/sys/kern/kern_sysctl.c	Fri Jan 31 23:22:01 1997
--- /usr/obj/sys/kern/kern_sysctl.c	Tue Mar 18 20:34:32 1997
***************
*** 756,760 ****
--- 756,761 ----
  		strncpy(ep->e_wmesg, p->p_wmesg, WMESGLEN);
  	ep->e_xsize = ep->e_xrssize = 0;
  	ep->e_xccount = ep->e_xswrss = 0;
+ 	strncpy(ep->e_login, p->p_pgrp->pg_session->s_login, MAXLOGNAME);
  }
  

>Audit-Trail:
>Unformatted: