aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2005-04-11 17:22:23 +0000
committerWerner Koch <[email protected]>2005-04-11 17:22:23 +0000
commit14f6a82ca9fdde3a806221ff8d63091ef1ec5e48 (patch)
tree781bf332a6015e9dc32d0fa85bdf148daa1f5e50
parent* gpg-connect-agent.c (start_agent): Use PATHSEP_C instead of ':'. (diff)
downloadgnupg-14f6a82ca9fdde3a806221ff8d63091ef1ec5e48.tar.gz
gnupg-14f6a82ca9fdde3a806221ff8d63091ef1ec5e48.zip
(confucius_mktmpdir): Changed to use mkdtmp(3).
Diffstat (limited to '')
-rw-r--r--tools/ChangeLog4
-rw-r--r--tools/symcryptrun.c29
2 files changed, 11 insertions, 22 deletions
diff --git a/tools/ChangeLog b/tools/ChangeLog
index 924e11017..82f26d0d3 100644
--- a/tools/ChangeLog
+++ b/tools/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-11 Werner Koch <[email protected]>
+
+ * symcryptrun.c (confucius_mktmpdir): Changed to use mkdtmp(3).
+
2005-04-11 Marcus Brinkmann <[email protected]>
* symcryptrun.c: Implement config file parsing.
diff --git a/tools/symcryptrun.c b/tools/symcryptrun.c
index d0a8bddb9..73f7e0369 100644
--- a/tools/symcryptrun.c
+++ b/tools/symcryptrun.c
@@ -227,32 +227,17 @@ i18n_init(void)
static char *
confucius_mktmpdir (void)
{
- int res;
- char *tmpdir;
+ char *name;
- tmpdir = tmpnam (NULL);
- if (!tmpdir)
- {
- log_error (_("cannot create temporary directory name: %s\n"),
- strerror (errno));
- return NULL;
- }
- tmpdir = strdup (tmpdir);
- if (!tmpdir)
- {
- log_error (_("cannot copy temporary directory name: %s\n"),
- strerror (errno));
- return NULL;
- }
- res = mkdir (tmpdir, 0700);
- if (res < 0)
+ name = strdup ("/tmp/gpg-XXXXXX");
+ if (!name || !mkdtemp (name))
{
- log_error (_("cannot create temporary directory %s: %s\n"),
- tmpdir, strerror (errno));
+ log_error (_("can't create temporary directory `%s': %s\n"),
+ name?name:"", strerror (errno));
return NULL;
}
- return tmpdir;
+ return name;
}
@@ -702,7 +687,7 @@ confucius_main (int mode)
tmpdir = confucius_mktmpdir ();
if (!tmpdir)
return 1;
-
+
/* TMPDIR + "/" + "in" + "\0". */
infile = malloc (strlen (tmpdir) + 1 + 2 + 1);
if (!infile)