RFC Errata
Found 4 records.
Status: Verified (3)
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: 560
Status: Verified
Type: Editorial
Publication Format(s) : TEXT
Reported By: Tim Moors
Date Reported: 2004-04-05
Section 4.1 says:
while( count > 1 ) {
/* This is the inner loop */
sum += * (unsigned short) addr++;
count -= 2;
It should say:
while( count > 1 ) {
/* This is the inner loop */
sum += * (unsigned short *) addr++;
count -= 2;
Errata ID: 4918
Status: Verified
Type: Editorial
Publication Format(s) : TEXT
Reported By: Cihangir Akturk
Date Reported: 2017-01-26
Verifier Name: Éric Vyncke
Date Verified: 2025-06-27
Section 4.1 says:
while( count > 1 ) {
/* This is the inner loop */
sum += * (unsigned short) addr++;
count -= 2;
}
It should say:
while( count > 1 ) {
/* This is the inner loop */
sum += * (unsigned short *) addr;
addr += 2;
count -= 2;
}
Notes:
- In the original text, code incorrectly casts from pointer to integer.
- Increments addr pointer by 1. Because unsigned short is two bytes, it should have been incremented by 2 instead.
Errata ID: 7711
Status: Verified
Type: Editorial
Publication Format(s) : TEXT
Reported By: Mohammed Amine CHAKIR
Date Reported: 2023-11-23
Verifier Name: RFC Editor
Date Verified: 2023-11-28
Section 3 says:
We now present explicit examples of calculating a simple 1's complement sum on a 2's complement machine. The examples show the same sum calculated byte by bye, by 16-bits words in normal and swapped order, and 32 bits at a time in 3 different orders. All numbers are in hex.
It should say:
We now present explicit examples of calculating a simple 1's complement sum on a 2's complement machine. The examples show the same sum calculated byte by byte, by 16-bits words in normal and swapped order, and 32 bits at a time in 3 different orders. All numbers are in hex.
Notes:
A small typo in line 3 in the second occurrence of the word 'byte'
Status: Held for Document Update (1)
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
