aboutsummaryrefslogtreecommitdiffstats
path: root/kbx/keybox-update.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-10-20 08:43:55 +0000
committerWerner Koch <[email protected]>2020-10-20 10:15:55 +0000
commitc94ee1386e0d5cdac51086c4d5b92de59c09c9b5 (patch)
tree34089b99da850a449f95ab9dd7e88317194b5f11 /kbx/keybox-update.c
parentgpg,ecc: Fix SOS handling when receiving from agent. (diff)
downloadgnupg-c94ee1386e0d5cdac51086c4d5b92de59c09c9b5.tar.gz
gnupg-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 'kbx/keybox-update.c')
-rw-r--r--kbx/keybox-update.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kbx/keybox-update.c b/kbx/keybox-update.c
index fbcaec7b9..e263bc3d6 100644
--- a/kbx/keybox-update.c
+++ b/kbx/keybox-update.c
@@ -161,6 +161,7 @@ static int
blob_filecopy (int mode, const char *fname, KEYBOXBLOB blob,
int secret, int for_openpgp, off_t start_offset)
{
+ gpg_err_code_t ec;
FILE *fp, *newfp;
int rc=0;
char *bakfname = NULL;
@@ -170,8 +171,8 @@ blob_filecopy (int mode, const char *fname, KEYBOXBLOB blob,
/* Open the source file. Because we do a rename, we have to check the
permissions of the file */
- if (access (fname, W_OK))
- return gpg_error_from_syserror ();
+ if ((ec = gnupg_access (fname, W_OK)))
+ return gpg_error (ec);
fp = fopen (fname, "rb");
if (mode == FILECOPY_INSERT && !fp && errno == ENOENT)
@@ -626,6 +627,7 @@ keybox_delete (KEYBOX_HANDLE hd)
int
keybox_compress (KEYBOX_HANDLE hd)
{
+ gpg_err_code_t ec;
int read_rc, rc;
const char *fname;
FILE *fp, *newfp;
@@ -651,8 +653,8 @@ keybox_compress (KEYBOX_HANDLE hd)
/* Open the source file. Because we do a rename, we have to check the
permissions of the file */
- if (access (fname, W_OK))
- return gpg_error_from_syserror ();
+ if ((ec = gnupg_access (fname, W_OK)))
+ return gpg_error (ec);
fp = fopen (fname, "rb");
if (!fp && errno == ENOENT)