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