From 0f9669eb9f141a9543becf090bd2c9a4a46e1d15 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 19 Sep 2014 16:58:52 +0200 Subject: lib/util: Drop unnecessary use of talloc_tos() Signed-off-by: Volker Lendecke Reviewed-by: Martin Schwenke --- lib/util/util.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/util/util.c b/lib/util/util.c index 1dc1f1d517..3ba7e4d61a 100644 --- a/lib/util/util.c +++ b/lib/util/util.c @@ -61,7 +61,8 @@ _PUBLIC_ const char *tmpdir(void) **/ int create_unlink_tmp(const char *dir) { - char *fname; + size_t len = strlen(dir); + char fname[len+25]; int fd; mode_t mask; @@ -69,8 +70,8 @@ int create_unlink_tmp(const char *dir) dir = tmpdir(); } - fname = talloc_asprintf(talloc_tos(), "%s/listenerlock_XXXXXX", dir); - if (fname == NULL) { + len = snprintf(fname, sizeof(fname), "%s/listenerlock_XXXXXX", dir); + if (len >= sizeof(fname)) { errno = ENOMEM; return -1; } @@ -78,17 +79,14 @@ int create_unlink_tmp(const char *dir) fd = mkstemp(fname); umask(mask); if (fd == -1) { - TALLOC_FREE(fname); return -1; } if (unlink(fname) == -1) { int sys_errno = errno; close(fd); - TALLOC_FREE(fname); errno = sys_errno; return -1; } - TALLOC_FREE(fname); return fd; } -- cgit