]> Git Repo - uclibc-ng.git/commit
inet: gethostid: only accept v4 addresses
authorнаб <[email protected]>
Tue, 7 Jun 2022 15:39:04 +0000 (17:39 +0200)
committerWaldemar Brodkorb <[email protected]>
Wed, 8 Jun 2022 07:01:43 +0000 (09:01 +0200)
commit6d45c0fe89e6de7d35a991051ec7f9feaaaf3729
treef44894bf93e15c42f0a818fd9348d67daf7d11d0
parent28805243f676e769f7c8035125c9e78bf5606434
inet: gethostid: only accept v4 addresses

getaddrinfo() returns addresses from, at least, ip(7) and ipv6(7),
but _addr() always uses sin_addr from struct sockaddr_in;
we're saved from wild unsoundness (or incompatibility)
by virtue of struct sockaddr_in6 having an always-0 u32 sin6_flowinfo
at the same offset, so we end up returning 0 anyway,
but in a round-about and definitely unintended way

Instead, limit the request to AF_INET, and fall through to the end
early, returning the default id=0

Signed-off-by: Ahelenia Ziemiańska <[email protected]>
libc/inet/hostid.c
This page took 0.022556 seconds and 4 git commands to generate.