aboutsummaryrefslogtreecommitdiff
path: root/sshfs.c
diff options
context:
space:
mode:
authorRian Hunter <rian@alum.mit.edu>2016-06-06 00:06:21 -0700
committerRian Hunter <rian@alum.mit.edu>2016-06-06 00:12:42 -0700
commitf51d7b0c6a54df2bc4a61295a17b721ea0e9d00a (patch)
treef352c3a2de9e174139f93f0dec7e9948e1e897e3 /sshfs.c
parentdf10d96ac2e6dd7e73314544f5bfe20ae5b6141d (diff)
downloadsshfs-f51d7b0c6a54df2bc4a61295a17b721ea0e9d00a.tar
sshfs-f51d7b0c6a54df2bc4a61295a17b721ea0e9d00a.tar.gz
sshfs-f51d7b0c6a54df2bc4a61295a17b721ea0e9d00a.tar.bz2
sshfs-f51d7b0c6a54df2bc4a61295a17b721ea0e9d00a.zip
Require paths for truncate/fstat workarounds
Commit 74bfa3850a2568f96dd1d090a9386534c9bb4629 allowed sshfs to run without requiring a non-NULL path argument for certain operations. This was erroneous in the case of using certain workarounds.
Diffstat (limited to 'sshfs.c')
-rw-r--r--sshfs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sshfs.c b/sshfs.c
index f41d987..ce38925 100644
--- a/sshfs.c
+++ b/sshfs.c
@@ -3996,6 +3996,14 @@ int main(int argc, char *argv[])
parse_workarounds() == -1)
exit(1);
+#if FUSE_VERSION >= 29
+ // These workarounds require the "path" argument.
+ if (sshfs.truncate_workaround || sshfs.fstat_workaround) {
+ sshfs_oper.oper.flag_nullpath_ok = 0;
+ sshfs_oper.oper.flag_nopath = 0;
+ }
+#endif
+
if (sshfs.idmap == IDMAP_USER)
sshfs.detect_uid = 1;
else if (sshfs.idmap == IDMAP_FILE) {