mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-12 19:04:54 +03:00
It sync with gnulib version ae9fb3d66. The testcase for BZ#23741 (stdlib/test-bz22786.c) is adjusted to check also for ENOMEM. The patch fixes multiple realpath issues: - Portability fixes for errno clobbering on free (BZ#10635). The function does not call free directly anymore, although it might be done through scratch_buffer_free. The free errno clobbering is being tracked by BZ#17924. - Pointer arithmetic overflows in realpath (BZ#26592). - Realpath cyclically call __alloca(path_max) to consume too much stack space (BZ#26341). - Realpath mishandles EOVERFLOW; stat not needed anyway (BZ#24970). The check is done through faccessat now. Checked on x86_64-linux-gnu and i686-linux-gnu.
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
int
|
||||
faccessat (int fd, const char *file, int mode, int flag)
|
||||
__faccessat (int fd, const char *file, int mode, int flag)
|
||||
{
|
||||
int ret = INLINE_SYSCALL_CALL (faccessat2, fd, file, mode, flag);
|
||||
#if __ASSUME_FACCESSAT2
|
||||
@@ -73,3 +73,4 @@ faccessat (int fd, const char *file, int mode, int flag)
|
||||
return INLINE_SYSCALL_ERROR_RETURN_VALUE (EACCES);
|
||||
#endif /* !__ASSUME_FACCESSAT2 */
|
||||
}
|
||||
weak_alias (__faccessat, faccessat)
|
||||
|
Reference in New Issue
Block a user