about summary refs log tree commit diff
path: root/sysdeps/posix
Commit message (Collapse)AuthorAgeFilesLines
* Use statvfs64() for pathconf(_PC_NAME_MAX).Peter TB Brett2014-04-091-11/+3
| | | | | | | | | pathconf(_PC_NAME_MAX) was implemented on top of statfs(). The 32bit version therefore fails EOVERFLOW if the filesystem blockcount is sufficiently large. Most pathconf() queries use statvfs64(), which avoids this issue. This patch modifies pathconf(_PC_NAME_MAX) to do likewise.
* Fix use of half-initialized result in getaddrinfo when using nscd (bug 16743)Andreas Schwab2014-03-241-0/+8
| | | | | | | | | | | | | | | | | | This fixes a bug in the way the results from __nscd_getai are collected: for every returned result a new entry is first added to the gaih_addrtuple list, but if that result doesn't match the request this entry remains uninitialized. So for this non-matching result an extra result with uninitialized content is returned. To reproduce (with nscd running): $ getent ahostsv4 localhost 127.0.0.1 STREAM localhost 127.0.0.1 DGRAM 127.0.0.1 RAW (null) STREAM (null) DGRAM (null) RAW
* Use glibc_likely instead __builtin_expect.Ondřej Bílka2014-02-106-12/+12
|
* Do not enable asynchronous cancellation in system. Fixes bug 14782.Ondřej Bílka2014-01-151-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.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0180-80/+80
|
* Remove redundant GAIH_OKIFUNSPEC and GAIH_EAI.Pavel Simerda2013-12-021-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.
* getaddrinfo: remove dead codePavel Simerda2013-12-021-12/+0
|
* Fix stack overflow due to large AF_INET6 requestsSiddhesh Poyarekar2013-10-251-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.
* Fix incorrect getaddrinfo assertion triggerAllan McRae2013-10-251-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.
* Don't use gethostbyaddr to determine canonical nameAndreas Schwab2013-10-171-78/+11
|
* Fix readdir regressions on sparc 32-bit.David S. Miller2013-10-101-2/+7
| | | | | * sysdeps/posix/dirstream.h (struct __dirstream): Fix alignment of directory block.
* Properly cache the result from looking up the nss database configAndreas Schwab2013-09-301-8/+6
|
* Use __glibc_unlikely instead of __builtin_expect (..., 0)Siddhesh Poyarekar2013-08-281-1/+1
|
* CVE-2013-4237, BZ #14699: Buffer overflow in readdir_rFlorian Weimer2013-08-164-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.
* Fix symbol definitions for __clock_* functionsSiddhesh Poyarekar2013-06-111-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.
* Use (void) in no-arguments function definitions.Joseph Myers2013-06-081-1/+1
|
* Set EAI_SYSTEM only when h_errno is NETDB_INTERNALSiddhesh Poyarekar2013-05-211-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.
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-161-0/+1
|
* Clean up POSIX.1 implementation of truncate.Roland McGrath2013-05-061-7/+10
|
* Add missing #include in sysdeps/posix/opendir.c.Roland McGrath2013-05-011-0/+1
|
* Fix name space use in last commit.Roland McGrath2013-04-231-1/+1
|
* Add generic POSIX implementation of C11 timespec_get.Roland McGrath2013-04-231-0/+38
|
* Minor cleanup in getaddrinfoSiddhesh Poyarekar2013-04-221-3/+4
| | | | | Replace repeated computations of alloca size with a local variable that stores the computed value.
* Fix stack overflow in getaddrinfo with many resultsAndreas Schwab2013-04-031-2/+21
|
* Never call syslog in __libc_message.Roland McGrath2013-03-281-9/+0
|
* Consolidate Linux and POSIX libc_fatal code.Roland McGrath2013-03-191-7/+30
|
* Remove bp-sym.h and BP_SYM uses from C code.Joseph Myers2013-02-141-4/+3
|
* ulimit: include <limits.h>Pino Toscano2013-01-231-0/+1
|
* ulimit: move linux implementation as posixPino Toscano2013-01-231-0/+91
| | | | | The linux implementation of ulimit works correctly and has nothing specific to Linux, so move it as general posix implementation.
* Fix copyright notice corruption from update-copyright bug.Joseph Myers2013-01-021-1/+1
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0278-84/+78
|
* Add script to update copyright notices and reformat some to facilitate its use.Joseph Myers2013-01-012-4/+2
|
* Return EAI_SYSTEM if we're out of file descriptorsSiddhesh Poyarekar2012-11-191-0/+6
| | | | Resolves BZ #14719.
* Generate /usr/libexec/getconf files when cross-compiling.Joseph Myers2012-11-171-72/+23
|
* Suppress incorrect link warnings for NSS symbolsChris Metcalf2012-10-301-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.
* BZ#14743: Move clock_* symbols from librt to libc.Roland McGrath2012-10-241-1/+2
|
* __alloc_dir: avoid integer overflow in malloc argumentFlorian Weimer2012-10-161-4/+11
|
* sysconf/posix: handle _SC_LEVEL4_CACHE_LINESIZEPino Toscano2012-10-031-0/+1
|
* Implement POSIX-generic sleep via nanosleep rather than SIGARLM.Roland McGrath2012-09-281-65/+35
|
* [BZ #11438]Jeff Law2012-09-281-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.
* * sysdeps/posix/getaddrinfo.c (gaih_inet): Only use gethostbyname4_rJeff Law2012-08-221-2/+7
| | | | if the family is PF_UNSPEC.
* Move some things from sysdeps/unix to sysdeps/posix.Roland McGrath2012-08-176-0/+252
|
* Fix typo in last change.Roland McGrath2012-08-171-1/+1
|
* Fix getaddrinfo for [!_STATBUF_ST_NSEC] case.Roland McGrath2012-08-171-2/+35
|
* Add casts to suppress warnings in system.c under [!_LIBC_REENTRANT].Roland McGrath2012-08-151-3/+3
|
* Add a missing #include.Roland McGrath2012-08-081-1/+2
|
* Move common dirent implementation from sysdeps/unix to sysdeps/posix.Roland McGrath2012-08-0710-0/+774
|
* Fix lots of bitrot for stub configurations.Roland McGrath2012-07-303-3/+5
|
* Rename __secure_getenv to secure_getenvFlorian Weimer2012-07-253-10/+12
|
* Avoid duplicate DNS requests if answer is longer than a implementationJeroen van Bemmel2012-07-121-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).