[PATCH] mktemp: don't use mktemp() function
Bartosz Golaszewski
bartekgola at gmail.com
Thu Dec 11 17:01:57 UTC 2014
The linker emits this warning:
warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
Fix it by using mkstemp() instead of mktemp().
function old new delta
mktemp_main 214 233 +19
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 19/0) Total: 19 bytes
Signed-off-by: Bartosz Golaszewski <bartekgola at gmail.com>
---
debianutils/mktemp.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/debianutils/mktemp.c b/debianutils/mktemp.c
index 983d7a2..5ef557a 100644
--- a/debianutils/mktemp.c
+++ b/debianutils/mktemp.c
@@ -59,6 +59,8 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
const char *path;
char *chp;
unsigned opts;
+ int fd;
+
enum {
OPT_d = 1 << 0,
OPT_q = 1 << 1,
@@ -93,8 +95,9 @@ int mktemp_main(int argc UNUSED_PARAM, char **argv)
chp = concat_path_file(path, chp);
if (opts & OPT_u) {
- chp = mktemp(chp);
- if (chp[0] == '\0')
+ close(fd = mkstemp(chp));
+ unlink(chp);
+ if (fd < 0)
goto error;
} else if (opts & OPT_d) {
if (mkdtemp(chp) == NULL)
--
2.1.3
More information about the busybox
mailing list