From: Ondrej Zajicek (work) Date: Sat, 19 Oct 2019 01:37:43 +0000 (+0200) Subject: RPKI: Fix handling of IPv6 cache addresses X-Git-Tag: v2.0.8~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e23b499696da81acf0ed5ad181573b94ccdb9a3;p=thirdparty%2Fbird.git RPKI: Fix handling of IPv6 cache addresses The old code used just sizeof(struct sockaddr) bytes of IP address. --- diff --git a/proto/rpki/transport.c b/proto/rpki/transport.c index 182667be1..9dcb7c5cc 100644 --- a/proto/rpki/transport.c +++ b/proto/rpki/transport.c @@ -26,7 +26,6 @@ static ip_addr rpki_hostname_autoresolv(const char *host) { - ip_addr addr = {}; struct addrinfo *res; struct addrinfo hints = { .ai_family = AF_UNSPEC, @@ -44,12 +43,10 @@ rpki_hostname_autoresolv(const char *host) return IPA_NONE; } - sockaddr sa = { - .sa = *res->ai_addr, - }; - + ip_addr addr = IPA_NONE; uint unused; - sockaddr_read(&sa, res->ai_family, &addr, NULL, &unused); + + sockaddr_read((sockaddr *) res->ai_addr, res->ai_family, &addr, NULL, &unused); freeaddrinfo(res); return addr;