From: Paul Gofman pgofman@codeweavers.com
--- dlls/ntdll/unix/socket.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c index e938eb9b627..18ff23a7399 100644 --- a/dlls/ntdll/unix/socket.c +++ b/dlls/ntdll/unix/socket.c @@ -711,6 +711,8 @@ static ssize_t fixup_icmp_over_dgram( struct msghdr *hdr, union unix_sockaddr *u icmp_h->checksum = chksum( (BYTE *)icmp_h, recv_len - sizeof(ip_h) ); } } + ip_h.checksum = 0; + ip_h.checksum = chksum( (BYTE *)&ip_h, sizeof(ip_h) ); memcpy( buf, &ip_h, min( sizeof(ip_h), buf_len ));
return recv_len;