[comp.bugs.4bsd] inetd doesn't reset internal struct when reading conf file +FIX

neil@sunybcs.UUCP (03/28/87)

Index:	etc/inetd.c 4.3BSD

Description:
	When inetd.c reads in its configure file it does not reset the
	se_bi structure to NULL between entries.  As a result once you have
	a service that is internal in /etc/inetd.conf then all
	subsequent services will have this struct set to the most recently
	read internal service.
Repeat-By:
	Put services in /etc/inetd.conf after the internal ones and
	try to use them.
Fix:
	Apply the following patch.

----------------------------------------------------------------
RCS file: RCS/inetd.c,v
retrieving revision 1.1
diff -c -r1.1 inetd.c
*** /tmp/,RCSt1004841	Fri Mar 27 13:42:36 1987
--- inetd.c	Fri Mar 27 02:09:05 1987
***************
*** 542,547 ****
--- 542,548 ----
  		;
  	if (cp == NULL)
  		return ((struct servtab *)0);
+ 	sep->se_bi = (struct biltin *)0; /* reset biltin - bug fix NGS 3/87 */
  	sep->se_service = strdup(skip(&cp));
  	arg = skip(&cp);
  	if (strcmp(arg, "stream") == 0)
Neil Smithline			
csnet:	neil@buffalo.CSNET
uucp:	..!{allegra,ames,decvax,watmath}!sunybcs!neil
bitnet:	neil@sunybcs.BITNET