musl/src/network
Rich Felker 633183b5d1 fix potential read past end of buffer in getnameinfo service name lookup
if the loop stopped due to reaching the end of the string, the
subsequent increment could possibly move the position one past the end
of the buffer. no further writes happen, the reads cannot fault anyway
unless the stack completely lacks any zero bytes, and reading junk
should not yield an incorrect result from the function either.
nonetheless the code was wrong and needs to be fixed.
2014-09-05 13:52:20 -04:00
..
accept.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
accept4.c add fallback emulation for accept4 on old kernels 2014-02-21 22:25:26 -05:00
bind.c cleanup socketcall syscall interface to ease porting to sane(r) archs 2011-02-15 04:40:40 -05:00
connect.c overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
dn_comp.c implement dn_comp RFC 1035 domain name compression 2014-06-06 20:44:54 +02:00
dn_expand.c fix dn_expand empty name handling and offsets to 0 2014-09-04 20:13:10 -04:00
dn_skipname.c implement dn_skipname (legacy resolver function) 2013-04-04 22:36:30 -04:00
dns_parse.c fix some validation checks in dns response parsing code 2014-06-03 01:43:29 -04:00
ent.c remove some dummy "ent" function aliases that duplicated real ones 2014-06-04 04:39:34 -04:00
ether.c add stubs for additional legacy ether.h functions 2013-07-01 13:50:02 -04:00
freeaddrinfo.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
gai_strerror.c add support for LC_TIME and LC_MESSAGES translations 2014-07-26 05:36:25 -04:00
getaddrinfo.c add support for ipv6 scope_id to getaddrinfo and getnameinfo 2014-06-04 02:24:38 -04:00
gethostbyaddr.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
gethostbyaddr_r.c fix gethostby*_r result pointer value on error 2014-06-20 09:17:57 -04:00
gethostbyname.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
gethostbyname2.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
gethostbyname2_r.c fix gethostby*_r result pointer value on error 2014-06-20 09:17:57 -04:00
gethostbyname_r.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
getifaddrs.c reimplement if_nameindex and getifaddrs using netlink 2014-07-29 20:57:31 -04:00
getnameinfo.c fix potential read past end of buffer in getnameinfo service name lookup 2014-09-05 13:52:20 -04:00
getpeername.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
getservbyname.c improve getservbyname_r using new resolver backend 2014-06-01 00:45:04 -04:00
getservbyname_r.c improve getservbyname_r using new resolver backend 2014-06-01 00:45:04 -04:00
getservbyport.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
getservbyport_r.c make getservby*_r return error code rather than -1 (and using errno) 2012-07-22 18:49:49 -04:00
getsockname.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
getsockopt.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
h_errno.c fix misplaced semicolon in preprocessor directive (#undef h_errno) 2012-05-16 20:14:30 -04:00
herror.c implement legacy function herror 2013-12-20 11:56:16 -05:00
hstrerror.c add support for LC_TIME and LC_MESSAGES translations 2014-07-26 05:36:25 -04:00
htonl.c optimize ntohl etc. in terms of bswap functions 2011-04-12 13:13:27 -04:00
htons.c optimize ntohl etc. in terms of bswap functions 2011-04-12 13:13:27 -04:00
if_freenameindex.c implement if_nameindex and if_freenameindex 2011-08-03 12:13:13 -04:00
if_indextoname.c fix missing SOCK_CLOEXEC in various functions that use sockets internally 2013-07-09 00:40:17 -04:00
if_nameindex.c reimplement if_nameindex and getifaddrs using netlink 2014-07-29 20:57:31 -04:00
if_nametoindex.c fix if_nametoindex return value when interface does not exist 2014-06-03 17:53:11 -04:00
in6addr_any.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
in6addr_loopback.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
inet_addr.c remove cruft from old resolver and numeric ip parsing 2014-06-02 05:00:48 -04:00
inet_aton.c remove cruft from old resolver and numeric ip parsing 2014-06-02 05:00:48 -04:00
inet_legacy.c remove cruft from old resolver and numeric ip parsing 2014-06-02 05:00:48 -04:00
inet_ntoa.c split inet_addr and inet_ntoa back into their own files 2013-10-21 22:05:29 -04:00
inet_ntop.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
inet_pton.c remove an unnecessary check in inet_pton 2013-12-12 04:18:34 +00:00
listen.c cleanup socketcall syscall interface to ease porting to sane(r) archs 2011-02-15 04:40:40 -05:00
lookup.h implement result address sorting in the resolver (getaddrinfo, etc.) 2014-06-21 19:21:05 -04:00
lookup_ipliteral.c fix missing function declarations in refactored ip literal parsing code 2014-06-05 15:55:20 -04:00
lookup_name.c implement result address sorting in the resolver (getaddrinfo, etc.) 2014-06-21 19:21:05 -04:00
lookup_serv.c remove incorrect and useless check in network service name lookup code 2014-09-05 13:49:47 -04:00
netlink.c reimplement if_nameindex and getifaddrs using netlink 2014-07-29 20:57:31 -04:00
netlink.h reimplement if_nameindex and getifaddrs using netlink 2014-07-29 20:57:31 -04:00
netname.c "implement" getnetbyaddr and getnetbyname 2011-07-12 02:52:06 -04:00
ntohl.c optimize ntohl etc. in terms of bswap functions 2011-04-12 13:13:27 -04:00
ntohs.c optimize ntohl etc. in terms of bswap functions 2011-04-12 13:13:27 -04:00
proto.c add routing protocols to getprotoent-family functions 2014-06-24 17:39:31 -04:00
recv.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
recvfrom.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
recvmmsg.c implement sendmmsg and recvmmsg 2014-06-19 23:01:15 -04:00
recvmsg.c overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
res_init.c implement new dns backend, res_send and other legacy resolver functions 2014-06-02 02:13:57 -04:00
res_mkquery.c accept trailing . and empty domain names 2014-06-06 20:41:15 +02:00
res_msend.c avoid spurious lookup failures from badly-behaved nameservers 2014-06-07 04:09:21 -04:00
res_query.c implement new dns backend, res_send and other legacy resolver functions 2014-06-02 02:13:57 -04:00
res_querydomain.c accept trailing . and empty domain names 2014-06-06 20:41:15 +02:00
res_send.c implement new dns backend, res_send and other legacy resolver functions 2014-06-02 02:13:57 -04:00
res_state.c add _res (__res_state()) dummy 2011-04-06 15:47:26 -04:00
send.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
sendmmsg.c fix sendmmsg emulation return value for zero-length vector 2014-06-20 02:13:38 -04:00
sendmsg.c workaround another sendmsg kernel bug on 64-bit machines 2012-07-12 21:37:54 -04:00
sendto.c overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
serv.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
setsockopt.c cleanup socketcall syscall interface to ease porting to sane(r) archs 2011-02-15 04:40:40 -05:00
shutdown.c cleanup socketcall syscall interface to ease porting to sane(r) archs 2011-02-15 04:40:40 -05:00
sockatmark.c cleanup socketcall syscall interface to ease porting to sane(r) archs 2011-02-15 04:40:40 -05:00
socket.c optimize SOCK_CLOEXEC fallback for socket function 2014-06-06 15:30:28 -04:00
socketpair.c add SOCK_CLOEXEC fallback for socketpair on old kernels 2014-06-06 15:29:00 -04:00