diff options
author | Werner Koch <[email protected]> | 2005-04-11 17:22:23 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2005-04-11 17:22:23 +0000 |
commit | 14f6a82ca9fdde3a806221ff8d63091ef1ec5e48 (patch) | |
tree | 781bf332a6015e9dc32d0fa85bdf148daa1f5e50 | |
parent | * gpg-connect-agent.c (start_agent): Use PATHSEP_C instead of ':'. (diff) | |
download | gnupg-14f6a82ca9fdde3a806221ff8d63091ef1ec5e48.tar.gz gnupg-14f6a82ca9fdde3a806221ff8d63091ef1ec5e48.zip |
(confucius_mktmpdir): Changed to use mkdtmp(3).
Diffstat (limited to '')
-rw-r--r-- | tools/ChangeLog | 4 | ||||
-rw-r--r-- | tools/symcryptrun.c | 29 |
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) |