When checking root directory use LSTAT not STAT
authorMiklos Szeredi <mszeredi@suse.cz>
Mon, 14 May 2012 14:18:22 +0000 (16:18 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Mon, 14 May 2012 14:18:22 +0000 (16:18 +0200)
This prevents I/O error being returned after a successful mount if a symlink is
mounted.

Reported by Bart Friederichs

ChangeLog
sshfs.c

index 618a427..c855c7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-14  Miklos Szeredi <miklos@szeredi.hu>
+
+       * When checking root directory use LSTAT not STAT.  This prevents
+       I/O error being returned after a successful mount if a symlink is
+       mounted.  Reported by Bart Friederichs
+
 2012-03-08  Miklos Szeredi <miklos@szeredi.hu>
 
        * Released 2.4
diff --git a/sshfs.c b/sshfs.c
index 7cfa341..4945302 100644 (file)
--- a/sshfs.c
+++ b/sshfs.c
@@ -1620,7 +1620,7 @@ static int sftp_check_root(const char *base_path)
        buf_init(&buf, 0);
        buf_add_string(&buf, remote_dir);
        buf_to_iov(&buf, &iov[0]);
-       if (sftp_send_iov(SSH_FXP_STAT, id, iov, 1) == -1)
+       if (sftp_send_iov(SSH_FXP_LSTAT, id, iov, 1) == -1)
                goto out;
        buf_clear(&buf);
        if (sftp_read(&type, &buf) == -1)