A 0 checksum indicates the checksum is to not be validated, and an 0xffff checksum indicates a zero result. If the sum is computed to be 0, it should be substituted for 0xffff, to indicate the actual zero checksum. This bug went unnoticed for a long time, because in 2^-16 of computed checksums, the incorrect result merely foregoes checksum validation, which is likely to not trigger any noticeable errors.