> From: Zhao Zhili <zhiliz...@tencent.com>
>
> Don't assume tempnam is available when !HAVE_MKSTEMP. Check tempnam
> explicitly in configure.
>
> Signed-off-by: Zhao Zhili <zhiliz...@tencent.com>
> ---
>  configure             | 2 ++
>  libavutil/file_open.c | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 7685c95fbb..bd3c1d4838 100755
> --- a/configure
> +++ b/configure
> @@ -2413,6 +2413,7 @@ SYSTEM_FUNCS="
>      sysconf
>      sysctl
>      sysctlbyname
> +    tempnam
>      usleep
>      UTGetOSTypeFromString
>      VirtualAlloc
> @@ -6548,6 +6549,7 @@ check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec 
> -D_BSD_SOURCE
>  check_func  strerror_r
>  check_func  sysconf
>  check_func  sysctl
> +check_func  tempnam
>  check_func  usleep
>
>  check_func_headers conio.h kbhit
> diff --git a/libavutil/file_open.c b/libavutil/file_open.c
> index 24ef33e3da..eef6d83706 100644
> --- a/libavutil/file_open.c
> +++ b/libavutil/file_open.c
> @@ -112,7 +112,7 @@ int avpriv_tempfile(const char *prefix, char **filename, 
> int log_offset, void *l
>  {
>      FileLogContext file_log_ctx = { &file_log_ctx_class, log_offset, log_ctx 
> };
>      int fd = -1;
> -#if !HAVE_MKSTEMP
> +#if HAVE_TEMPNAM

If neither HAVE_TEMPNAM nor HAVE_MKSTEMP are defined, this will get
the file name from an uninitialized buffer.  If both are defined it
will not compile because len will be undefined.

 - Mark


>      void *ptr= tempnam(NULL, prefix);
>      if(!ptr)
>          ptr= tempnam(".", prefix);
> --
> 2.42.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to