From c94ee1386e0d5cdac51086c4d5b92de59c09c9b5 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 20 Oct 2020 10:43:55 +0200 Subject: 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 --- g13/backend.c | 3 ++- g13/g13-syshelp.c | 2 +- g13/mount.c | 2 +- g13/suspend.c | 5 +++-- 4 files changed, 7 insertions(+), 5 deletions(-) (limited to 'g13') diff --git a/g13/backend.c b/g13/backend.c index 835c66be4..71cd6ffc1 100644 --- a/g13/backend.c +++ b/g13/backend.c @@ -27,6 +27,7 @@ #include "g13.h" #include "../common/i18n.h" +#include "../common/sysutils.h" #include "keyblob.h" #include "backend.h" #include "be-encfs.h" @@ -116,7 +117,7 @@ be_take_lock_for_create (ctrl_t ctrl, const char *fname, dotlock_t *r_lock) /* A quick check to see that no container with that name already exists. */ - if (!access (fname, F_OK)) + if (!gnupg_access (fname, F_OK)) { err = gpg_error (GPG_ERR_EEXIST); goto leave; diff --git a/g13/g13-syshelp.c b/g13/g13-syshelp.c index d65f26b2f..4bfd927a7 100644 --- a/g13/g13-syshelp.c +++ b/g13/g13-syshelp.c @@ -581,7 +581,7 @@ g13_syshelp_i_know_what_i_am_doing (void) char *fname; fname = make_filename (gnupg_sysconfdir (), yesfile, NULL); - if (access (fname, F_OK)) + if (gnupg_access (fname, F_OK)) { log_info ("*******************************************************\n"); log_info ("* The G13 support for DM-Crypt is new and not matured.\n"); diff --git a/g13/mount.c b/g13/mount.c index dc415b12d..bee47fbd5 100644 --- a/g13/mount.c +++ b/g13/mount.c @@ -76,7 +76,7 @@ g13_mount_container (ctrl_t ctrl, const char *filename, const char *mountpoint) else { /* A quick check to see whether we can the container exists. */ - if (access (filename, R_OK)) + if (gnupg_access (filename, R_OK)) return gpg_error_from_syserror (); } diff --git a/g13/suspend.c b/g13/suspend.c index 0aa20f01c..44c52ddc5 100644 --- a/g13/suspend.c +++ b/g13/suspend.c @@ -28,6 +28,7 @@ #include "g13.h" #include "../common/i18n.h" +#include "../common/sysutils.h" #include "suspend.h" #include "keyblob.h" @@ -45,7 +46,7 @@ g13_suspend_container (ctrl_t ctrl, const char *filename) int needs_syshelp; /* A quick check to see whether the container exists. */ - if (access (filename, R_OK)) + if (gnupg_access (filename, R_OK)) return gpg_error_from_syserror (); /* Decide whether we need to use the g13-syshelp because we can't @@ -80,7 +81,7 @@ g13_resume_container (ctrl_t ctrl, const char *filename) char *mountpoint_buffer = NULL; /* A quick check to see whether the container exists. */ - if (access (filename, R_OK)) + if (gnupg_access (filename, R_OK)) return gpg_error_from_syserror (); /* Decide whether we need to use the g13-syshelp because we can't -- cgit v1.2.3