freebsd-nq/lib/libc/gen
Jilles Tjoelker 5de8a0fdf4 fts: Fix double-free with conflicting concurrent modifications.
If rare conditions such as concurrent conflicting manipulation of the
filesystem occur, fts_read() frees the current FTSENT without adjusting
the pointers in the FTS accordingly. A later fts_close() then frees the
same FTSENT again.

Reported by:	pho
Tested by:	pho
MFC after:	1 week
2014-02-07 13:40:22 +00:00
..
__getosreldate.c Use aux vector to get values for SSP canary, pagesize, pagesizes array, 2010-08-17 09:13:26 +00:00
__xuname.c Fix a typo. q is already a pointer. 2008-10-22 21:56:57 +00:00
_once_stub.c Revert the previous change to pthread_once() stub in libc. It is actually 2009-11-20 20:43:34 +00:00
_pthread_stubs.c style(9) fix. 2011-11-26 16:49:25 +00:00
_rand48.c
_spinlock_stub.c Add prototypes for libc private interfaces. 2010-03-31 18:36:04 +00:00
_thread_init.c Turn off default generation of userland dot symbols on powerpc64 now that 2011-02-18 21:44:53 +00:00
alarm.3 Update xrefs from 4.3BSD to modern signal functions in various man pages. 2010-05-06 22:49:54 +00:00
alarm.c
arc4random.3 Globally replace u_int*_t from (non-contributed) man pages. 2012-02-12 18:29:56 +00:00
arc4random.c libc: Use O_CLOEXEC for various internal file descriptors. 2012-09-29 11:54:34 +00:00
assert.c
auxv.c Rename aux.c to auxv.c. 2012-08-11 12:07:24 +00:00
basename.3 Sync with OpenBSD, primarily make the code easier to read, and a license 2011-06-18 00:33:34 +00:00
basename.c Sync with OpenBSD, primarily make the code easier to read, and a license 2011-06-18 00:33:34 +00:00
cap_rights_get.3 - Add manual pages for capability rights (rights(4)), cap_rights_init(3) 2013-11-04 14:10:22 +00:00
cap_sandboxed.3 Provide cap_sandboxed(3) function, which is a wrapper around cap_getmode(2) 2013-03-02 00:11:27 +00:00
cap_sandboxed.c Provide cap_sandboxed(3) function, which is a wrapper around cap_getmode(2) 2013-03-02 00:11:27 +00:00
check_utility_compat.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
check_utility_compat.c - Reduce buffer size from LINE_MAX to PATH_MAX, there is no point to store 2012-12-21 22:20:59 +00:00
clock_getcpuclockid.3 Remove trailing whitespace. 2012-08-21 13:33:48 +00:00
clock_getcpuclockid.c Fix prototype. Also the function should return error code instead of 2012-08-21 09:17:13 +00:00
clock.3
clock.c
closedir.c Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
confstr.3 mdoc: drop redundant .Pp and .LP calls 2010-10-08 12:40:16 +00:00
confstr.c
crypt.c
ctermid.3 Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
ctermid.c Reimplement ctermid(). 2011-10-01 12:19:48 +00:00
daemon.3
daemon.c Comment a fine point, so it does not get lost when people borrow code 2010-03-15 08:58:35 +00:00
devname.3 Add two new routines: fdevname() and fdevname_r(). 2009-02-11 20:24:59 +00:00
devname.c Get rid of major/minor number distinction. 2011-09-28 18:53:36 +00:00
directory.3 Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
dirfd.c Put my name as copyright owner of lib/libc/gen/dirfd.c added in r235647. 2012-05-19 14:30:49 +00:00
dirname.3 Sync with OpenBSD's dirname(3) - license change, avoid strcpy() over 2008-11-03 05:19:45 +00:00
dirname.c Sync with OpenBSD's dirname(3) - license change, avoid strcpy() over 2008-11-03 05:19:45 +00:00
disklabel.c
dl_iterate_phdr.3 mdoc: convert .Fd to .In, which is much nicer. 2013-06-04 07:37:06 +00:00
dladdr.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
dlfcn.c Fetch the aux vector for the static libc, and use the entries to 2012-02-17 10:49:29 +00:00
dlinfo.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
dllockinit.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
dlopen.3 Implement fdlopen(3), an rtld interface to load shared object by file 2012-01-07 10:33:01 +00:00
drand48.c
dup3.3 dup3(3): Replace copyright notice. 2013-08-18 13:25:18 +00:00
dup3.c Add dup3(), based on F_DUP2FD and F_DUP2FD_CLOEXEC fcntls. 2013-08-16 13:10:30 +00:00
elf_utils.c Implement __pthread_map_stacks_exec() callback for libc, to change the 2011-01-08 17:13:43 +00:00
erand48.c
err.3 Use the .Bx macro instead of BSD 2012-04-26 19:21:58 +00:00
err.c Minor style(9) nit: move to using ANSI definition of functions. 2008-04-03 20:36:44 +00:00
errlst.c libc: Always use our own copy of sys_errlist and sys_nerr (.so only). 2013-08-31 22:32:42 +00:00
errno.c
exec.3 Turn execvpe() into an internal libc routine. 2008-06-23 05:22:06 +00:00
exec.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
fdevname.c Remove (hidden) warning about missing prototypes for fdevname(3). 2009-12-05 18:51:44 +00:00
feature_present.3 [mdoc] Fixed .Dt call. 2011-05-25 14:13:53 +00:00
feature_present.c Add a feature_present(3) function which checks to see if a named kernel 2008-01-10 22:11:21 +00:00
fmtcheck.3 mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the 2010-05-13 12:07:55 +00:00
fmtcheck.c Use const instead of __const, and merge the license change from NetBSD. 2009-06-23 23:52:12 +00:00
fmtmsg.3
fmtmsg.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
fnmatch.3
fnmatch.c According to POSIX \ in the fnmatch(3) pattern should escape 2013-08-08 09:04:02 +00:00
fpclassify.3
fpclassify.c
frexp.3 mdoc: don't abuse Bo/Pc to get what looks like an interval 2010-04-14 18:29:34 +00:00
frexp.c
fstab.c libc: Use the new 'e' fopen() mode option to simplify fstab.c. 2012-12-04 16:54:43 +00:00
ftok.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
ftok.c
fts-compat.c libc/fts: Use O_CLOEXEC for internal file descriptors. 2012-09-27 22:05:54 +00:00
fts-compat.h Remove the advertising clause from the Regents of the University of 2013-05-28 21:05:06 +00:00
fts.3 fts(3): Remove stray mentions of the obsolete fts_bignum. 2014-01-12 20:47:08 +00:00
fts.c fts: Fix double-free with conflicting concurrent modifications. 2014-02-07 13:40:22 +00:00
ftw.3
ftw.c ftw(): Do not check the maxfds argument against OPEN_MAX. 2012-08-09 15:11:38 +00:00
gen-private.h Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
getbootfile.3
getbootfile.c
getbsize.3 mdoc: Use the Ev macro for environmental variables. 2012-11-16 12:03:50 +00:00
getbsize.c Set "max" to a reasonable value if BLOCKSIZE has a bogus unit. Prior 2008-08-04 06:53:13 +00:00
getcap.3 mdoc: drop redundant .Pp and .LP calls 2010-10-08 12:40:16 +00:00
getcap.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getcontext.3 Add the getcontextx prototype to SYNOPSIS. 2013-03-13 18:18:16 +00:00
getcwd.3 getcwd(3): Clarify that EACCES may or may not be checked. 2010-04-17 15:52:50 +00:00
getcwd.c libc: Use O_CLOEXEC for various internal file descriptors. 2012-09-29 11:54:34 +00:00
getdiskbyname.3 Remove vestiges of disklabel(5). 2011-04-14 08:53:04 +00:00
getdomainname.3
getdomainname.c
getfsent.3
getgrent.3
getgrent.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getgrouplist.3 Document the fact that getgrouplist(3) returns 0 on success. 2012-02-20 20:46:27 +00:00
getgrouplist.c Implementing 'fallback' nsswitch source. 'fallback' source is used 2007-12-12 10:08:03 +00:00
gethostname.3
gethostname.c
getloadavg.3
getloadavg.c
getlogin.c libc: Access _logname_valid more efficiently. 2013-08-17 19:24:58 +00:00
getmntinfo.3
getmntinfo.c
getnetgrent.3
getnetgrent.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getosreldate.3 Add unistd.h to the getosreldate(3) manpage. 2008-09-30 11:25:55 +00:00
getosreldate.c Clean up includes; the prototype for getosreldate() has moved to 2011-12-14 08:35:08 +00:00
getpagesize.3
getpagesize.c Use aux vector to get values for SSP canary, pagesize, pagesizes array, 2010-08-17 09:13:26 +00:00
getpagesizes.3 Remove trailing whitespace per mdoc lint warning 2012-03-29 05:02:12 +00:00
getpagesizes.c Use aux vector to get values for SSP canary, pagesize, pagesizes array, 2010-08-17 09:13:26 +00:00
getpass.3
getpeereid.3
getpeereid.c
getprogname.3
getprogname.c
getpwent.3
getpwent.c
getttyent.3 Add two changes that should have gone into commit r202274. 2010-01-14 05:37:43 +00:00
getttyent.c Add a new flag to /etc/ttys: onifconsole. This is equivalent to "on" if the 2014-01-20 18:15:06 +00:00
getusershell.3
getusershell.c libc: Make various internal file descriptors close-on-exec. 2012-12-10 17:56:51 +00:00
getutxent.3 Replace utxrm(8) by utx(8). 2012-02-11 20:28:42 +00:00
getutxent.c Make getutxent(3) more robust against bad utx.log files. Whenever we read 2013-10-15 13:32:01 +00:00
getvfsbyname.3 Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes. 2008-11-17 20:49:29 +00:00
getvfsbyname.c
glob.3 - Add restrict keyword to glob(3) 2011-12-20 22:56:13 +00:00
glob.c Spelling correction 2013-04-11 20:15:37 +00:00
initgroups.3 In preparation for raising NGROUPS and NGROUPS_MAX, change base 2009-06-19 15:58:24 +00:00
initgroups.c In preparation for raising NGROUPS and NGROUPS_MAX, change base 2009-06-19 15:58:24 +00:00
isatty.c
isgreater.3 mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-19 08:57:53 +00:00
isinf.c
isnan.c Add an explanatory comment to lib/libc/gen/isnan.c about the fix to make 2012-11-11 13:28:04 +00:00
jrand48.c
lcong48.c
ldexp.3
ldexp.c
libc_dlopen.c Fix a problem whereby a corrupt DNS record can cause named to crash. [11:06] 2011-12-23 15:00:37 +00:00
lockf.3 Consistently reference file descriptors as "fd". 55 other manpages 2013-09-12 00:53:38 +00:00
lockf.c Sync license changes. 2009-03-04 01:01:26 +00:00
lrand48.c
makecontext.3
Makefile.inc Add MLINK for fdclosedir.3 to directory.3 and sort fdopendir(3) entry. 2014-01-24 22:37:35 +00:00
modf.3 Document modff() and modfl(). Technically, modff() and modfl() 2008-03-29 16:19:35 +00:00
modf.c Replace a proliferation of buggy MD implementations of modf() with a 2011-10-21 06:40:36 +00:00
mrand48.c
nftw.c nftw(): POSIX says directories causing loops should be silently skipped. 2012-08-09 22:05:40 +00:00
nice.3
nice.c
nlist.3
nlist.c libc: Use O_CLOEXEC for various internal file descriptors. 2012-09-29 11:54:34 +00:00
nrand48.c
opendir.c libc/opendir: Improve behaviour of union uniquifier: 2013-02-24 20:53:32 +00:00
pause.3
pause.c Make pause(3) implementation not depended on the legacy sigcompat.c 2010-02-25 13:51:11 +00:00
pmadvise.c The posix_madvise(3) and posix_fadvise(2) should return error on 2014-01-30 18:04:39 +00:00
popen.3 popen(): Add 'e' mode character to set close-on-exec on the new fd. 2013-05-20 17:31:18 +00:00
popen.c popen(): Try to prevent inappropriate fd passing even if 'e' is not used. 2013-10-20 20:50:17 +00:00
posix_spawn_file_actions_addopen.3 Typo. 2013-05-12 05:54:58 +00:00
posix_spawn_file_actions_init.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawn.3 Fix whitespace inconsistencies in libc in files copyrighted by me. 2011-06-26 18:27:17 +00:00
posix_spawn.c posix_spawn: If an error is detected in the child process, reap the zombie. 2011-07-10 14:20:11 +00:00
posix_spawnattr_getflags.3 mdoc: minor Bl improvements. 2012-06-02 08:47:26 +00:00
posix_spawnattr_getpgroup.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawnattr_getschedparam.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawnattr_getschedpolicy.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawnattr_getsigdefault.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawnattr_getsigmask.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
posix_spawnattr_init.3 Use our canonical .Dd format. 2009-11-02 12:35:38 +00:00
psignal.3 mdoc: terminate quoted strings. 2012-03-26 15:18:14 +00:00
psignal.c
pututxline.c pututxline: Don't set errno=0 in subfunctions. 2013-04-17 21:08:15 +00:00
pw_scan.c It is believed the last subsystem that limited ID sizes to something 2009-07-22 20:46:17 +00:00
pw_scan.h
raise.3 raise(3): Note that this sends a signal to the current thread, not process. 2010-05-07 17:20:15 +00:00
raise.c Fix many "function declaration isn't a prototype" warnings in libc. 2009-12-05 19:31:38 +00:00
rand48.3 Add the same warning to rand48(3) as to rand(3) and random(3). 2012-09-11 12:55:15 +00:00
rand48.h
readdir.c Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
readpassphrase.3 Sync with OpenBSD, primarily better signal and terminal handling. 2010-11-13 10:38:06 +00:00
readpassphrase.c libc: Use O_CLOEXEC for various internal file descriptors. 2012-09-29 11:54:34 +00:00
rewinddir.c Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
rfork_thread.3 rfork_thread(3): Mark deprecated in favor of pthread_create(3). 2011-02-06 23:26:14 +00:00
scandir.3 mdoc: spell macros correctly, there's no need for the backslash escape 2010-06-02 10:20:38 +00:00
scandir.c Style: reword comment. 2010-01-20 11:59:46 +00:00
seed48.c
seekdir.c Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
sem_destroy.3
sem_getvalue.3
sem_init.3 Update manuals of sem_open and sem_init. 2010-01-12 01:30:05 +00:00
sem_new.c Make more code be protected by internal mutex, and now it is fork-safe, in 2013-02-17 02:52:42 +00:00
sem_open.3 Update manuals of sem_open and sem_init. 2010-01-12 01:30:05 +00:00
sem_post.3
sem_timedwait.3 mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-19 08:57:53 +00:00
sem_wait.3 mdoc: remove superfluous paragraph macro. 2013-04-16 20:31:15 +00:00
sem.c In revision 231989, we pass a 16-bit clock ID into kernel, however 2012-02-25 02:12:17 +00:00
semctl.c Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
setdomainname.c
sethostname.c
setjmp.3
setjmperr.c
setmode.3
setmode.c
setproctitle.3 mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-19 08:57:53 +00:00
setproctitle.c
setprogname.c
siginterrupt.3 Update xrefs from 4.3BSD to modern signal functions in various man pages. 2010-05-06 22:49:54 +00:00
siginterrupt.c libc: Access _sigintr more efficiently. 2013-06-30 20:51:15 +00:00
siglist.c Make sys_signame upper case. 2011-02-04 16:40:50 +00:00
signal.3 Document SIGLIBRT in signal(3); take a stab at the signal description as 2013-09-03 08:19:06 +00:00
signal.c libc: Access _sigintr more efficiently. 2013-06-30 20:51:15 +00:00
sigsetops.3
sigsetops.c
sleep.3
sleep.c Fix many "function declaration isn't a prototype" warnings in libc. 2009-12-05 19:31:38 +00:00
srand48.c
statvfs.3
statvfs.c
stringlist.3 - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
stringlist.c - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
strtofflags.3
strtofflags.c Expand the use of stat(2) flags to allow storing some Windows/DOS 2013-08-21 23:04:48 +00:00
swapcontext.c
Symbol.map Implement fdclosedir(3) function, which is equivalent to the closedir(3) 2013-08-18 20:11:34 +00:00
sysconf.3 sysconf(3): Correct the description of _SC_OPEN_MAX. 2013-04-26 21:43:42 +00:00
sysconf.c Implement syscall clock_getcpuclockid2, so we can get a clock id 2012-08-17 02:26:31 +00:00
sysctl.3 Remove define and documentation for vm_pageout_algorithm missed in r253587 2013-07-26 02:00:06 +00:00
sysctl.c Avoid segfault if name is invalid. Basically, only 2012-09-06 20:15:44 +00:00
sysctlbyname.c Eliminate redundant variable. 2012-12-12 15:27:33 +00:00
sysctlnametomib.c Add proper const keywords to sysctl(3) parameters. 2010-02-21 13:57:02 +00:00
syslog.3
syslog.c syslog: Use SOCK_CLOEXEC instead of separate fcntl() call. 2013-10-20 21:04:44 +00:00
tcgetpgrp.3
tcgetsid.3 mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-19 08:57:53 +00:00
tcsendbreak.3
tcsetattr.3 Add a new libc function: cfmakesane(3). 2010-11-02 17:00:56 +00:00
tcsetpgrp.3
tcsetsid.3 Add tcsetsid(3). 2009-05-07 13:49:48 +00:00
telldir.c Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
telldir.h Do not read away the target directory entry when encountering deleted 2008-05-05 14:05:23 +00:00
termios.c Add a new libc function: cfmakesane(3). 2010-11-02 17:00:56 +00:00
time.3 Document CLOCK_SECOND, add cross-reference from time(3) to clock_gettime(2). 2009-12-29 14:29:08 +00:00
time.c Use clock_gettime(CLOCK_SECOND) instead of gettimeofday(2) for 2009-12-29 12:47:47 +00:00
times.3 The times(3) function returns the number of CLK_TCKs since the 2008-12-01 15:27:00 +00:00
times.c
timezone.3
timezone.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
tls.c Update jemalloc to version 3.5.0. 2014-01-23 02:47:36 +00:00
ttyname.3 Improve the ttyname(3) manual page. 2010-01-24 14:44:05 +00:00
ttyname.c Add two new routines: fdevname() and fdevname_r(). 2009-02-11 20:24:59 +00:00
ttyslot.c Simplify ttyslot(3). 2010-01-17 15:43:14 +00:00
tzset.3 Catch up with r130332 which changed the default timezone from GMT to UTC. 2009-11-17 16:29:39 +00:00
ualarm.3 Update xrefs from 4.3BSD to modern signal functions in various man pages. 2010-05-06 22:49:54 +00:00
ualarm.c
ucontext.3 Add API for obtaining extended machine context states that cannot be 2012-01-21 18:00:28 +00:00
ulimit.3
ulimit.c
uname.3
uname.c Revert r202447 by re-exposing the old uname(3) function. 2010-01-19 23:07:12 +00:00
unvis-compat.c Replace our implementation of the vis(3) and unvis(3) APIs with 2012-12-18 16:37:24 +00:00
usleep.3
usleep.c Fix many "function declaration isn't a prototype" warnings in libc. 2009-12-05 19:31:38 +00:00
utime.3
utime.c
utxdb.c Make utmpx(3) thread safe if we support TLS. 2012-03-23 08:26:31 +00:00
utxdb.h Perform several small cleanups to the utmpx code. 2010-01-17 21:40:05 +00:00
valloc.3
valloc.c
wait3.c
wait.c
waitid.c Implement the waitid() SUSv4 function using wait6() system call. 2012-11-13 12:55:52 +00:00
waitpid.c
wordexp.3
wordexp.c wordexp(): Avoid leaking the pipe file descriptors to a parallel fork/exec. 2013-08-27 21:47:01 +00:00