[comp.bugs.4bsd.ucb-fixes] ARTICLE #9

bostic@OKEEFFE.BERKELEY.EDU (Keith Bostic) (03/23/87)

4.3BSD network bug (#5, icmp_stat)
Index:	sys/netinet/icmp_var.h 4.3BSD FIX

Description:
The system begins to act strangely (e.g., no longer responds to
input ICMP messages) after receiving an ICMP Mask Request.
This is caused by incrementing a counter in an array
with too small a dimension.

Fix:
*** /nbsd/sys/netinet/icmp_var.h	Thu Jun  5 00:24:15 1986
--- icmp_var.h	Tue Jan 13 14:11:10 1987
***************
*** 5,7 ****
   *
!  *	@(#)icmp_var.h	7.1 (Berkeley) 6/5/86
   */
--- 5,7 ----
   *
!  *	@(#)icmp_var.h	7.2 (Berkeley) 1/13/87
   */
***************
*** 17,19 ****
  	int	icps_oldicmp;		/* no error 'cuz old was icmp */
! 	int	icps_outhist[ICMP_IREQREPLY + 1];
  /* statistics related to input messages processed */
--- 17,19 ----
  	int	icps_oldicmp;		/* no error 'cuz old was icmp */
! 	int	icps_outhist[ICMP_MAXTYPE + 1];
  /* statistics related to input messages processed */
***************
*** 24,26 ****
  	int	icps_reflect;		/* number of responses */
! 	int	icps_inhist[ICMP_IREQREPLY + 1];
  };
--- 24,26 ----
  	int	icps_reflect;		/* number of responses */
! 	int	icps_inhist[ICMP_MAXTYPE + 1];
  };