diff options
| author | John Kohl <jtkohl@mit.edu> | 1990-08-31 14:59:50 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1990-08-31 14:59:50 +0000 |
| commit | 4e5336682e66c2c67e3f6f2ae0c03094985ddacc (patch) | |
| tree | 5fd4fccde687b9b1f1c6e2e7c3edf8a4302cb330 /src | |
| parent | 2abdda706e9df9c215b36a4c4ace44d4d0c49fcd (diff) | |
| download | krb5-4e5336682e66c2c67e3f6f2ae0c03094985ddacc.tar.gz krb5-4e5336682e66c2c67e3f6f2ae0c03094985ddacc.tar.xz krb5-4e5336682e66c2c67e3f6f2ae0c03094985ddacc.zip | |
add error code interpretation
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1072 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/krb5/ccache/file/fcc_init.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/lib/krb5/ccache/file/fcc_init.c b/src/lib/krb5/ccache/file/fcc_init.c index a422505e1..248ef0620 100644 --- a/src/lib/krb5/ccache/file/fcc_init.c +++ b/src/lib/krb5/ccache/file/fcc_init.c @@ -40,13 +40,18 @@ krb5_fcc_initialize(id, princ) ret = open(((krb5_fcc_data *) id->data)->filename, O_CREAT | O_TRUNC | O_RDWR, 0); if (ret < 0) - return errno; + return krb5_fcc_interpret(errno); ((krb5_fcc_data *) id->data)->fd = ret; ret = fchmod(((krb5_fcc_data *) id->data)->fd, S_IREAD | S_IWRITE); - if (ret == -1) - return ret; - + if (ret == -1) { + ret = krb5_fcc_interpret(errno); + if (OPENCLOSE(id)) { + close(((krb5_fcc_data *)id->data)->fd); + ((krb5_fcc_data *) id->data)->fd = -1; + } + return ret; + } krb5_fcc_store_principal(id, princ); if (OPENCLOSE(id)) { |
