Internet bug fix

Ron McDaniels ron at celerity.UUCP
Thu Jan 17 09:13:35 AEST 1985


Subject: ip_init stores a random char in memory.
Index:	sys/netinet/ip_input.c 4.2BSD

Description:
	Under a set of circumstances that only Murphy could understand,
	a coding bug in ip_init causes a single byte of memory to be
	clobbered.

Repeat-By:
	Probably not deliberately repeatable.

Fix:
	A diff of sys/netinet/ip_input.c follows.
	The line numbers are undoubtedly not what you expect.


***************
*** 43,49
  	for (i = 0; i < IPPROTO_MAX; i++)
  		ip_protox[i] = pr - inetsw;
  	for (pr = inetdomain.dom_protosw;
! 	    pr < inetdomain.dom_protoswNPROTOSW; pr++)
  		if (pr->pr_family == PF_INET &&
  		    pr->pr_protocol && pr->pr_protocol != IPPROTO_RAW)
  			ip_protox[pr->pr_protocol] = pr - inetsw;

--- 43,49 -----
  	for (i = 0; i < IPPROTO_MAX; i++)
  		ip_protox[i] = pr - inetsw;
  	for (pr = inetdomain.dom_protosw;
! 	    pr <= inetdomain.dom_protoswNPROTOSW; pr++)
  		if (pr->pr_family == PF_INET &&
  		    pr->pr_protocol && pr->pr_protocol != IPPROTO_RAW)
  			ip_protox[pr->pr_protocol] = pr - inetsw;




R. L. (Ron) McDaniels
CELERITY COMPUTING
9692 Via Excellencia Way
San Diego, California 92126
(619) 271-9940
{decvax || ucbvax || ihnp4 || akgua || philabs}!sdcsvax!celerity!ron



More information about the Comp.bugs.4bsd.ucb-fixes mailing list