[FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi
Mark Harris
mark.hsj at gmail.com
Sun Jun 30 08:30:44 EEST 2024
> From: Zhao Zhili <zhilizhao at tencent.com>
>
> Don't assume tempnam is available when !HAVE_MKSTEMP. Check tempnam
> explicitly in configure.
>
> Signed-off-by: Zhao Zhili <zhilizhao at 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
More information about the ffmpeg-devel
mailing list