From: Michał Górny <[email protected]> Place all temporary files within a single, quasi-atomically created temporary directory rather than relying on unsafe 'mktemp -u'. This prevents possible race conditions in case two parallel 'mktemp -u' calls returned the same path. Additionally, it reduces TMPDIR pollution by keeping all test files in a single subdirectory.
Signed-off-by: Diego Biurrun <[email protected]> --- This patch was lost during my hiatus from development. Resending now as a reminder, will push tomorrow or so. configure | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/configure b/configure index dde78b8..1336f3e 100755 --- a/configure +++ b/configure @@ -2957,19 +2957,23 @@ if ! check_cmd mktemp -u XXXXXX; then # simple replacement for missing mktemp # NOT SAFE FOR GENERAL USE mktemp(){ - echo "${2%%XXX*}.${HOSTNAME}.${UID}.$$" + tmpname="${2%%XXX*}.${HOSTNAME}.${UID}.$$" + echo "$tmpname" + mkdir "$tmpname" } fi +AVTMPDIR=$(mktemp -d "${TMPDIR}/avconf.XXXXXXXX" 2> /dev/null) || + die "Unable to create temporary directory in $TMPDIR." + tmpfile(){ - tmp=$(mktemp -u "${TMPDIR}/ffconf.XXXXXXXX")$2 && - (set -C; exec > $tmp) 2>/dev/null || - die "Unable to create temporary file in $TMPDIR." - append TMPFILES $tmp + tmp="${AVTMPDIR}/test"$2 + (set -C; exec > $tmp) 2> /dev/null || + die "Unable to create temporary file in $AVTMPDIR." eval $1=$tmp } -trap 'rm -f -- $TMPFILES' EXIT +trap 'rm -rf -- "$AVTMPDIR"' EXIT tmpfile TMPASM .asm tmpfile TMPC .c -- 2.1.4 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
