RFC Errata
RFC 1071, "Computing the Internet checksum", September 1988
Note: This RFC has been updated by RFC 1141
Source of RFC: LegacyArea Assignment: int
Errata ID: 3133
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: chenhaospark
Date Reported: 2012-02-23
Held for Document Update by: Brian Haberman
Section 4.1 says:
/* Add left-over byte, if any */ if( count > 0 ) sum += * (unsigned char *) addr;
It should say:
/* Add left-over byte, if any */ if( count > 0 ) { unsigned short left_over = 0; * (unsigned char *) &left_over = * (unsigned char *) addr; sum += left_over; }
Notes:
for big-endian