diff options
| -rw-r--r-- | client/keytab.c | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/client/keytab.c b/client/keytab.c index 9a7734e..6614c4b 100644 --- a/client/keytab.c +++ b/client/keytab.c @@ -252,9 +252,11 @@ rekey_keytab(struct remctl *r, krb5_context ctx, const char *type,       * keys.  If there is an error, first make a backup of the current keytab       * file as keytab.old.       */ -    if (access(file, F_OK) != 0) -        link(tempfile, file); -    else { +    if (access(file, F_OK) != 0) { +        if (link(tempfile, file) < 0) +            sysdie("rename of temporary keytab %s to %s failed", tempfile, +                   file); +    } else {          if (error) {              data = read_file(file, &length);              backupfile = concat(file, ".old", (char *) 0); | 
