commit bbb22884736fe85da757ef767a31de26dfaaf7c0
parent edb0739883edd8687448b682784f8aface4bddf9
Author: Michael Buch <michaelbuch12@gmail.com>
Date: Mon, 25 Mar 2019 16:06:20 +0000
Fix up offset to check for magic number on receive of a packet according to FreeBSDs size of struct icmp
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/ping.c b/ping.c
@@ -139,8 +139,14 @@ void listener()
if( buf[9] != 1 ) continue; //ICMP
if( addr.sin_addr.s_addr != psaddr.sin_addr.s_addr ) continue;
+ // sizeof(packet.hdr) + 20
+#ifdef __FreeBSD__
+ int offset = 48;
+#else
+ int offset = 28;
+#endif
if ( bytes > 0 )
- display(buf + 28, bytes - 28 );
+ display(buf + offset, bytes - offset );
else
{
ERRM("Error: recvfrom failed");