summaryrefslogtreecommitdiffstats
path: root/common/exechelp-posix.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2020-10-20 10:43:55 +0200
committerWerner Koch <wk@gnupg.org>2020-10-20 12:15:55 +0200
commitc94ee1386e0d5cdac51086c4d5b92de59c09c9b5 (patch)
tree34089b99da850a449f95ab9dd7e88317194b5f11 /common/exechelp-posix.c
parentgpg,ecc: Fix SOS handling when receiving from agent. (diff)
downloadgnupg2-c94ee1386e0d5cdac51086c4d5b92de59c09c9b5.tar.xz
gnupg2-c94ee1386e0d5cdac51086c4d5b92de59c09c9b5.zip
Replace all calls to access by gnupg_access
* common/sysutils.c (gnupg_access): New. Replace all calls to access by this wrapper. * common/homedir.c (w32_shgetfolderpath): Change to return UTF-8 directory name. (standard_homedir): Adjust for change. (w32_commondir, gnupg_cachedir): Ditto. -- Also use SHGetFolderPathW instead of SHGetFolderPathA on Windows. This is required to correctly handle non-ascii filenames on Windows. GnuPG-bug-id: 5098
Diffstat (limited to 'common/exechelp-posix.c')
-rw-r--r--common/exechelp-posix.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/exechelp-posix.c b/common/exechelp-posix.c
index 2b724ce5f..b14410821 100644
--- a/common/exechelp-posix.c
+++ b/common/exechelp-posix.c
@@ -845,14 +845,15 @@ gpg_error_t
gnupg_spawn_process_detached (const char *pgmname, const char *argv[],
const char *envp[] )
{
+ gpg_err_code_t ec;
pid_t pid;
int i;
if (getuid() != geteuid())
return my_error (GPG_ERR_BUG);
- if (access (pgmname, X_OK))
- return my_error_from_syserror ();
+ if ((ec = gnupg_access (pgmname, X_OK)))
+ return gpg_err_make (default_errsource, ec);
pid = fork ();
if (pid == (pid_t)(-1))