--- embedaddon/mtr/packet/deconstruct_unix.c 2021/03/17 00:07:30 1.1.1.2 +++ embedaddon/mtr/packet/deconstruct_unix.c 2023/09/27 11:18:58 1.1.1.3 @@ -99,22 +99,22 @@ void handle_inner_udp_packet( { saddr = &((struct IPHeader *)ip)->saddr; daddr = &((struct IPHeader *)ip)->daddr; - }else + } else if (af == AF_INET6) { daddr = &((struct IP6Header *)ip)->daddr; saddr = &((struct IP6Header *)ip)->saddr; - }else + } else { return; } - if( memcmp(sockaddr_addr_offset(&probe->remote_addr), + if ( memcmp(sockaddr_addr_offset(&probe->remote_addr), daddr, sockaddr_addr_size(&probe->remote_addr)) != 0 ) return; - if( memcmp(sockaddr_addr_offset(&probe->local_addr), + if ( memcmp(sockaddr_addr_offset(&probe->local_addr), saddr, sockaddr_addr_size(&probe->local_addr)) != 0) return;