Red Hat Bugzilla – Bug 2281
Ping does not work for odd sized '-s' on little-endian targets
Last modified: 2015-01-07 18:37:00 EST
In the in_cksum routine in ping.c, the 'if' case to handle pings of odd
length incorrectly handles the final byte. The code in ping.c will work
for big-endian targets, but fails for little-endian builds.
For example: ping -s 513 localhost
has 100% data loss, where ping -s 512 localhost does not, on x86.
Fixed (by porting Alexey Kuznetsov's version from iputils) in