On error, mktemp returns an empty string, not NULL. Signed-off-by: Xabier Oneca <xon...@gmail.com> --- libbb/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libbb/platform.c b/libbb/platform.c index 03bbb798..187670a8 100644 --- a/libbb/platform.c +++ b/libbb/platform.c @@ -107,7 +107,7 @@ void* FAST_FUNC memrchr(const void *s, int c, size_t n) /* This is now actually part of POSIX.1, but was only added in 2008 */ char* FAST_FUNC mkdtemp(char *template) { - if (mktemp(template) == NULL || mkdir(template, 0700) != 0) + if (mktemp(template)[0] == '\0' || mkdir(template, 0700) != 0) return NULL; return template; } -- 2.28.0
From 07f87296aef5db6c3098e36e1d72f0b73509df7c Mon Sep 17 00:00:00 2001 From: Xabier Oneca <xon...@gmail.com> Date: Tue, 1 Dec 2020 23:14:59 +0100 Subject: [PATCH] mkdtemp: proper error detection on mktemp On error, mktemp returns an empty string, not NULL. Signed-off-by: Xabier Oneca <xon...@gmail.com> --- libbb/platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libbb/platform.c b/libbb/platform.c index 03bbb798..187670a8 100644 --- a/libbb/platform.c +++ b/libbb/platform.c @@ -107,7 +107,7 @@ void* FAST_FUNC memrchr(const void *s, int c, size_t n) /* This is now actually part of POSIX.1, but was only added in 2008 */ char* FAST_FUNC mkdtemp(char *template) { - if (mktemp(template) == NULL || mkdir(template, 0700) != 0) + if (mktemp(template)[0] == '\0' || mkdir(template, 0700) != 0) return NULL; return template; } -- 2.28.0
_______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox