diff --git a/gtests/net/packetdrill/parser.y b/gtests/net/packetdrill/parser.y index 180003aea1e11ae1451f4940821e02a01a82db87..1b74def5f3a137a5596d84b89fef92e0245629f2 100644 --- a/gtests/net/packetdrill/parser.y +++ b/gtests/net/packetdrill/parser.y @@ -2527,6 +2527,9 @@ sockaddr struct sockaddr_in *ipv4 = malloc(sizeof(struct sockaddr_in)); memset(ipv4, 0, sizeof(*ipv4)); ipv4->sin_family = AF_INET; +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + ipv4->sin_len = sizeof(*ipv4); +#endif ipv4->sin_port = htons($10); if (inet_pton(AF_INET, $17, &ipv4->sin_addr) == 1) { $$ = new_expression(EXPR_SOCKET_ADDRESS_IPV4); @@ -2539,6 +2542,9 @@ sockaddr struct sockaddr_in6 *ipv6 = malloc(sizeof(struct sockaddr_in6)); memset(ipv6, 0, sizeof(*ipv6)); ipv6->sin6_family = AF_INET6; +#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) + ipv6->sin6_len = sizeof(*ipv6); +#endif ipv6->sin6_port = htons($10); if (inet_pton(AF_INET6, $17, &ipv6->sin6_addr) == 1) { $$ = new_expression(EXPR_SOCKET_ADDRESS_IPV6);