Use lstat rather than stat in gssd_find_existing_krb5_ccache
authorNeil Brown <neilb@suse.de>
Fri, 16 Mar 2007 03:23:02 +0000 (14:23 +1100)
committerNeil Brown <neilb@suse.de>
Fri, 16 Mar 2007 03:23:02 +0000 (14:23 +1100)
As this is a file in /tmp, a symlink could take us anywhere...
If it was a NFS filesystem with a dead server, we could block for a long time..

utils/gssd/krb5_util.c

index 096f6cf..6af2869 100644 (file)
@@ -191,7 +191,7 @@ gssd_find_existing_krb5_ccache(uid_t uid, struct dirent **d)
                                 namelist[i]->d_name);
                        snprintf(statname, sizeof(statname),
                                 "%s/%s", ccachedir, namelist[i]->d_name);
-                       if (stat(statname, &tmp_stat)) {
+                       if (lstat(statname, &tmp_stat)) {
                                printerr(0, "Error doing stat on file '%s'\n",
                                         statname);
                                free(namelist[i]);