aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/posix
AgeCommit message (Collapse)AuthorFilesLines
2014-02-10Use glibc_likely instead __builtin_expect.Ondřej Bílka6-12/+12
2014-01-15Do not enable asynchronous cancellation in system. Fixes bug 14782.Ondřej Bílka1-10/+1
We needlessly enabled thread cancellation before it was necessary. As only call that needs to be guarded is waitpid which is cancellation point we could remove cancellation altogether.
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae80-80/+80
2013-12-02Remove redundant GAIH_OKIFUNSPEC and GAIH_EAI.Pavel Simerda1-17/+14
Only gaih_inet() and gaih_inet_serv() use a special bit flag denoted by the GAIH_OKIFUNSPEC macro. Only the return value of gaih_inet_serv() is actively checked for the bit flag which is redundant because it just copies the nonzero property of the value otherwise returned. The return value of gaih_inet() is only checked for being zero and then the bit flag is filtered out. As the bit flag is set only for otherwise nonzero return values, it doesn't affect the zero comparison. GAIH_EAI just an alias to ~GAIH_OKIFUNSPEC.
2013-12-02getaddrinfo: remove dead codePavel Simerda1-12/+0
2013-10-25Fix stack overflow due to large AF_INET6 requestsSiddhesh Poyarekar1-2/+18
Resolves #16072 (CVE-2013-4458). This patch fixes another stack overflow in getaddrinfo when it is called with AF_INET6. The AF_UNSPEC case was fixed as CVE-2013-1914, but the AF_INET6 case went undetected back then.
2013-10-25Fix incorrect getaddrinfo assertion triggerAllan McRae1-3/+10
[BZ #9954] With the following /etc/hosts: 127.0.0.1 www.my-domain.es 127.0.1.1 www.my-domain.es 192.168.0.1 www.my-domain.es Using getaddrinfo() on www.my-domain.es, trigger the following assertion: ../sysdeps/posix/getaddrinfo.c:1473: rfc3484_sort: Assertion `src->results[i].native == -1 || src->results[i].native == a1_native' failed. This is due to two different bugs: - In rfc3484_sort() rule 7, src->results[i].native is assigned even if src->results[i].index is -1, meaning that no interface is associated. - In getaddrinfo() the source IP address used with the lo interface needs a special case, as it can be any IP within 127.X.Y.Z.
2013-10-17Don't use gethostbyaddr to determine canonical nameAndreas Schwab1-78/+11
2013-10-10Fix readdir regressions on sparc 32-bit.David S. Miller1-2/+7
* sysdeps/posix/dirstream.h (struct __dirstream): Fix alignment of directory block.
2013-09-30Properly cache the result from looking up the nss database configAndreas Schwab1-8/+6
2013-08-28Use __glibc_unlikely instead of __builtin_expect (..., 0)Siddhesh Poyarekar1-1/+1
2013-08-16CVE-2013-4237, BZ #14699: Buffer overflow in readdir_rFlorian Weimer4-12/+34
* sysdeps/posix/dirstream.h (struct __dirstream): Add errcode member. * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode member. * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member. * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit. Return delayed error code. Remove GETDENTS_64BIT_ALIGNED conditional. * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define GETDENTS_64BIT_ALIGNED. * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. * manual/filesys.texi (Reading/Closing Directory): Document ENAMETOOLONG return value of readdir_r. Recommend readdir more strongly. * manual/conf.texi (Limits for Files): Add portability note to NAME_MAX, PATH_MAX. (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX.
2013-06-11Fix symbol definitions for __clock_* functionsSiddhesh Poyarekar1-2/+2
__clock_gettime and other __clock_* functions could result in an extra PLT reference within libc.so if it actually gets used. None of the code currently uses them, which is why this probably went unnoticed.
2013-06-08Use (void) in no-arguments function definitions.Joseph Myers1-1/+1
2013-05-21Set EAI_SYSTEM only when h_errno is NETDB_INTERNALSiddhesh Poyarekar1-2/+10
Fixes BZ #15339. NSS_STATUS_UNAVAIL may mean that a necessary input resource is not available. This could occur in a number of cases including when the network is down, system runs out of file descriptors, etc. The correct differentiator in such a case is the h_errno, which gives the nature of failure. In case of failures other than a simple 'not found', we set h_errno as NETDB_INTERNAL and let errno be the identifier for the exact error.
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold1-0/+1
2013-05-06Clean up POSIX.1 implementation of truncate.Roland McGrath1-7/+10
2013-05-01Add missing #include in sysdeps/posix/opendir.c.Roland McGrath1-0/+1
2013-04-23Fix name space use in last commit.Roland McGrath1-1/+1
2013-04-23Add generic POSIX implementation of C11 timespec_get.Roland McGrath1-0/+38
2013-04-22Minor cleanup in getaddrinfoSiddhesh Poyarekar1-3/+4
Replace repeated computations of alloca size with a local variable that stores the computed value.
2013-04-03Fix stack overflow in getaddrinfo with many resultsAndreas Schwab1-2/+21
2013-03-28Never call syslog in __libc_message.Roland McGrath1-9/+0
2013-03-19Consolidate Linux and POSIX libc_fatal code.Roland McGrath1-7/+30
2013-02-14Remove bp-sym.h and BP_SYM uses from C code.Joseph Myers1-4/+3
2013-01-23ulimit: include <limits.h>Pino Toscano1-0/+1
2013-01-23ulimit: move linux implementation as posixPino Toscano1-0/+91
The linux implementation of ulimit works correctly and has nothing specific to Linux, so move it as general posix implementation.
2013-01-02Fix copyright notice corruption from update-copyright bug.Joseph Myers1-1/+1
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers78-84/+78
2013-01-01Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers2-4/+2
2012-11-19Return EAI_SYSTEM if we're out of file descriptorsSiddhesh Poyarekar1-0/+6
Resolves BZ #14719.
2012-11-17Generate /usr/libexec/getconf files when cross-compiling.Joseph Myers1-72/+23
2012-10-30Suppress incorrect link warnings for NSS symbolsChris Metcalf1-1/+1
When glibc is built with --enable-static-nss, the warning that using NSS symbols requires the nss shared objects to be present is no longer true, as those symbols are built into libc. Suppress the warning for those symbols by providing a new macro (nss_interface_function) for the NSS functions that is defined as static_link_warning in the normal case, and empty for static NSS.
2012-10-24BZ#14743: Move clock_* symbols from librt to libc.Roland McGrath1-1/+2
2012-10-16__alloc_dir: avoid integer overflow in malloc argumentFlorian Weimer1-4/+11
2012-10-03sysconf/posix: handle _SC_LEVEL4_CACHE_LINESIZEPino Toscano1-0/+1
2012-09-28Implement POSIX-generic sleep via nanosleep rather than SIGARLM.Roland McGrath1-65/+35
2012-09-28 [BZ #11438]Jeff Law1-4/+0
* sysdeps/posix/getaddrinfo.c (default_scopes): Map RFC 1918 * addresses to global scope. * posix/tst-rfc3484.c: Verify 10/8, 172.16/12 and 196.128/16 addresses are in the same scope as 192.0.2/24. * posix/gai.conf: Document new scope table defaults.
2012-08-22 * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_rJeff Law1-2/+7
if the family is PF_UNSPEC.
2012-08-17Move some things from sysdeps/unix to sysdeps/posix.Roland McGrath6-0/+252
2012-08-17Fix typo in last change.Roland McGrath1-1/+1
2012-08-17Fix getaddrinfo for [!_STATBUF_ST_NSEC] case.Roland McGrath1-2/+35
2012-08-15Add casts to suppress warnings in system.c under [!_LIBC_REENTRANT].Roland McGrath1-3/+3
2012-08-08Add a missing #include.Roland McGrath1-1/+2
2012-08-07Move common dirent implementation from sysdeps/unix to sysdeps/posix.Roland McGrath10-0/+774
2012-07-30Fix lots of bitrot for stub configurations.Roland McGrath3-3/+5
2012-07-25Rename __secure_getenv to secure_getenvFlorian Weimer3-10/+12
2012-07-12Avoid duplicate DNS requests if answer is longer than a implementationJeroen van Bemmel1-3/+7
limit [BZ #14307] * sysdeps/posix/getaddrinfo.c (gaih_inet): Increase the size of the temporary buffer used to invoke __gethostbyname2_r, __gethostbyaddr_r and gethostbyname4_r to make room for struct host_data / struct gaih_addrtuple. * resolv/nss_dns/dns-host.c (global scope): Move definition of implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS to header file nss/nsswitch.h. * nss/nsswitch.h (global scope): Add definition of implementation constants MAX_NR_ALIASES and MAX_NR_ADDRS (moved from resolv/nss_dns/dns-host.c).
2012-05-24Switch gettimeofday from INTUSE to libc_hidden_proto.Roland McGrath1-5/+3
2012-05-10Hurd: libc_once_getThomas Schwinge1-1/+1