From 44008bf4481482ed5aecfa70ca7918e124735d1c Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Wed, 29 Nov 2017 13:31:09 +0000 Subject: * network_io/unix/sockaddr.c (apr_sockaddr_zone_set): Fail for an address which is not link-local. * include/apr_network_io.h: Document the above. * test/testsock.c (test_zone): Test for that. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1816628 13f79535-47bb-0310-9956-ffa450edef68 --- network_io/unix/sockaddr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'network_io') diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c index 3b711fd5b..8e4bde3e3 100644 --- a/network_io/unix/sockaddr.c +++ b/network_io/unix/sockaddr.c @@ -1225,7 +1225,8 @@ APR_DECLARE(apr_status_t) apr_sockaddr_zone_set(apr_sockaddr_t *sa, #else unsigned int idx; - if (sa->family != APR_INET6) { + if (sa->family != APR_INET6 + || !IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)sa->ipaddr_ptr)) { return APR_EBADIP; } -- cgit v1.2.1