Dnia 2014-09-21, o godz. 11:52:25
Diego Biurrun <[email protected]> napisał(a):

> This reduces TMPDIR pollution and possibly avoids race conditions with
> temporary files that are not atomically created.
> 
> Based on a patch from Michał Górny <[email protected]>.
> ---
> 
> Rewritten to be less intrusive.
> 
>  configure | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/configure b/configure
> index 59dd453..ea3244c 100755
> --- a/configure
> +++ b/configure
> @@ -2593,15 +2593,18 @@ if ! check_cmd mktemp -u XXXXXX; then
>      }
>  fi
>  
> +AVTMPDIR=$(mktemp -u "${TMPDIR}/avconf.XXXXXXXX" 2> /dev/null)
> +
> +mkdir $AVTMPDIR || die "Unable to create temporary directory in $TMPDIR."
> +

Your patch no longer avoids race conditions since once again you are
using 'mktemp -u'. In fact, I don't understand at all why you are
creating the directory manually when 'mktemp -d' will do that for you.

Additionally, you removed the fallback for when 'mktemp' is not
available. You don't have any checks for that case, so configure will
simply attempt to run with empty $AVTMPDIR which -- depending on
implementation of mkdir -- will either fail because mkdir is called
with no arguments or continue trying to create files in root directory.

Finally, you didn't quote $AVTMPDIR.

>  tmpfile(){
> -    tmp=$(mktemp -u "${TMPDIR}/ffconf.XXXXXXXX")$2 &&
> -        (set -C; exec > $tmp) 2>/dev/null ||
> +    tmp=${AVTMPDIR}/avconf$2
> +    (set -C; exec > $tmp) 2> /dev/null ||
>          die "Unable to create temporary file in $TMPDIR."
> -    append TMPFILES $tmp
>      eval $1=$tmp
>  }
>  
> -trap 'rm -f -- $TMPFILES' EXIT
> +trap 'rm -rf -- "$AVTMPDIR"' EXIT
>  
>  tmpfile TMPASM .asm
>  tmpfile TMPC   .c



-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: PGP signature

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to