diff options
Diffstat (limited to 'sm/keydb.c')
-rw-r--r-- | sm/keydb.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sm/keydb.c b/sm/keydb.c index 45e932aa3..4d3f40990 100644 --- a/sm/keydb.c +++ b/sm/keydb.c @@ -115,7 +115,7 @@ maybe_create_keybox (char *filename, int force, int *r_created) { gpg_err_code_t ec; dotlock_t lockhd = NULL; - FILE *fp; + estream_t fp; int rc; mode_t oldmask; char *last_slash_in_filename; @@ -206,7 +206,7 @@ maybe_create_keybox (char *filename, int force, int *r_created) /* The file does not yet exist, create it now. */ oldmask = umask (077); - fp = fopen (filename, "wb"); + fp = es_fopen (filename, "wb"); if (!fp) { rc = gpg_error_from_syserror (); @@ -223,7 +223,7 @@ maybe_create_keybox (char *filename, int force, int *r_created) rc = _keybox_write_header_blob (fp, 0); if (rc) { - fclose (fp); + es_fclose (fp); log_error (_("error creating keybox '%s': %s\n"), filename, gpg_strerror (rc)); goto leave; @@ -234,7 +234,7 @@ maybe_create_keybox (char *filename, int force, int *r_created) if (r_created) *r_created = 1; - fclose (fp); + es_fclose (fp); rc = 0; leave: @@ -301,14 +301,15 @@ keydb_add_resource (ctrl_t ctrl, const char *url, int force, int *auto_created) /* see whether we can determine the filetype */ if (rt == KEYDB_RESOURCE_TYPE_NONE) { - FILE *fp = fopen( filename, "rb" ); + estream_t fp; + fp = es_fopen( filename, "rb" ); if (fp) { u32 magic; /* FIXME: check for the keybox magic */ - if (fread (&magic, 4, 1, fp) == 1 ) + if (es_fread (&magic, 4, 1, fp) == 1 ) { if (magic == 0x13579ace || magic == 0xce9a5713) ; /* GDBM magic - no more support */ @@ -317,7 +318,8 @@ keydb_add_resource (ctrl_t ctrl, const char *url, int force, int *auto_created) } else /* maybe empty: assume keybox */ rt = KEYDB_RESOURCE_TYPE_KEYBOX; - fclose (fp); + + es_fclose (fp); } else /* no file yet: create keybox */ rt = KEYDB_RESOURCE_TYPE_KEYBOX; |