summaryrefslogtreecommitdiff
path: root/src/temp
AgeCommit message (Collapse)AuthorLines
2014-10-06ignore access mode bits of flags in mkostemps and functions that use itRich Felker-0/+1
per the text accepted for inclusion in POSIX, behavior is unspecified when any of the access mode bits are set. since it's impossible to consistently report this usage error (O_RDONLY could not be detected since its value happens to be zero), the most consistent way to handle them is just to ignore them. previously, if a caller erroneously passed O_WRONLY, the resulting access mode would be O_WRONLY|O_RDWR, which has the value 3, and this resulted in a file descriptor which rejects both read and write attempts when it is subsequently used.
2013-12-12include cleanups: remove unused headers and add feature test macrosSzabolcs Nagy-8/+2
2013-09-04fix typo in comment in __randnameRich Felker-1/+1
2013-08-02fix (deprecated) mktemp logic and update it to match other temp functionsRich Felker-4/+11
the access function cannot be used to check for existence, because it operates using real uid/gid rather than effective to determine accessibility; this matters for the non-final path components. instead, use stat. failure of stat is success if only the final component is missing (ENOENT) and otherwise is failure.
2013-08-02remove (no longer useful) namespace-protected __mktemp symbolRich Felker-4/+1
2013-08-02make mkdtemp and mkstemp family leave template unchanged on failRich Felker-13/+18
also refactor mkdtemp based on new shared temp code, removing dependency on the deprecated mktemp, whose behavior made this logic more difficult.
2013-02-20use memcmp instead of str[n]cmp for temp function XXXXXX checkingRich Felker-2/+2
2013-02-20fix error cases in mkostemps coreRich Felker-6/+3
1. wrong return value and missing errno for negative suffix len 2. failure to catch suffix len > strlen 3. remove unwanted clearing of input string in invalid case
2013-02-20remove leftover unused variable in mktemp after refactoringRich Felker-1/+0
2013-02-20add mkostemp, mkstemps, and mkostemps functions and reorganize temp internalsRich Felker-29/+83
based on patch contributed by Anthony G. Basile (blueness) some issues remain with the filename generation algorithm and other small bugs, but this patch has been sitting around long enough that I feel it's best to get it committed and then work out any remaining issues.
2011-07-28remove ugly prng from mk*temp and just re-poll time on retryRich Felker-6/+5
2011-07-28eliminate mk*temp dependency on snprintfRich Felker-3/+4
this helps some tiny programs be even more tiny, and barly increases code size even if both are used.
2011-06-12another return value fix for mktemp...Rich Felker-1/+2
2011-02-19make mktemp match the historic behavior, and update functions that use itRich Felker-5/+8
the historic mktemp is supposed to blank the template string on failure, rather than returning 0. just zero the first character so that mkstemp and mkdtemp can still retry with O(1) space requirement.
2011-02-19fix major bug created from copying mkdtemp logicRich Felker-1/+1
2011-02-18major improvements to temp file name generatorRich Felker-16/+21
use current time in nanoseconds and some potentially-random (if aslr is enabled) pointer values for the initial tempfile name generation, and step via a cheap linear prng on collisions. limit the number of retry attempts to prevent denial of service attacks even if an attacker can guess the filenames.
2011-02-18reformat mkstemp like mkdtempRich Felker-7/+5
this is cleaner and makes it easy to impose a limit on the number of retries later if it seems desirable to do so.
2011-02-14ensure standard functions mk[sd]temp don't depend on removed function mktempRich Felker-5/+9
2011-02-14begin namespace-cleanup of standard C headersRich Felker-0/+2
2011-02-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+76