On Thu, Nov 10, 2016 at 11:29 AM, Diego Biurrun <di...@biurrun.de> wrote:
> The replacement code uses tempnam(), which is dangerous.
> Such a fringe feature is not worth the trouble.
> ---
>
> Now without stray changes to the build system.
>
>  configure               |  2 +-
>  libavcodec/libxvid_rc.c | 17 ++---------------
>  2 files changed, 3 insertions(+), 16 deletions(-)
>
> diff --git a/configure b/configure
> index acc74f2..7ced8fa 100755
> --- a/configure
> +++ b/configure
> @@ -2290,7 +2290,7 @@ libx262_encoder_deps="libx262"
>  libx264_encoder_deps="libx264"
>  libx265_encoder_deps="libx265"
>  libxavs_encoder_deps="libxavs"
> -libxvid_encoder_deps="libxvid"
> +libxvid_encoder_deps="libxvid mkstemp"
>
>  # demuxers / muxers
>  ac3_demuxer_select="ac3_parser"
> diff --git a/libavcodec/libxvid_rc.c b/libavcodec/libxvid_rc.c
> index 26f3c49..9130283 100644
> --- a/libavcodec/libxvid_rc.c
> +++ b/libavcodec/libxvid_rc.c
> @@ -22,9 +22,7 @@
>
>  #include "config.h"
>
> -#if !HAVE_MKSTEMP
>  #include <fcntl.h>
> -#endif
>  #include <unistd.h>
>  #include <xvid.h>
>
> @@ -35,36 +33,25 @@
>  #include "libxvid.h"
>  #include "mpegvideo.h"
>
> -/* Wrapper to work around the lack of mkstemp() on mingw.
> - * Also, tries to create file in /tmp first, if possible.
> +/* Create temporary file using mkstemp(), tries /tmp first, if possible.
>   * *prefix can be a character constant; *filename will be allocated 
> internally.
> - * @return file descriptor of opened file (or -1 on error)
> + * Return file descriptor of opened file (or error code on error)
>   * and opened file name in **filename. */
>  int ff_tempfile(const char *prefix, char **filename)
>  {
>      int fd = -1;
> -#if !HAVE_MKSTEMP
> -    *filename = tempnam(".", prefix);
> -#else
>      size_t len = strlen(prefix) + 12; /* room for "/tmp/" and "XXXXXX\0" */
>      *filename  = av_malloc(len);
> -#endif
> -    /* -----common section-----*/
>      if (!(*filename)) {
>          av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot allocate file 
> name\n");
>          return AVERROR(ENOMEM);
>      }
> -#if !HAVE_MKSTEMP
> -    fd = avpriv_open(*filename, O_RDWR | O_BINARY | O_CREAT, 0444);
> -#else
>      snprintf(*filename, len, "/tmp/%sXXXXXX", prefix);
>      fd = mkstemp(*filename);
>      if (fd < 0) {
>          snprintf(*filename, len, "./%sXXXXXX", prefix);
>          fd = mkstemp(*filename);
>      }
> -#endif
> -    /* -----common section-----*/
>      if (fd < 0) {
>          av_log(NULL, AV_LOG_ERROR, "ff_tempfile: Cannot open temporary file 
> %s\n", *filename);
>          return AVERROR(EIO);
> --

ok i think
-- 
Vittorio
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to