aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSeebs <seebs@seebs.net>2016-11-03 11:36:12 -0500
committerSeebs <seebs@seebs.net>2016-11-03 11:36:12 -0500
commit45eca34c754d416a38bee90fb2d3c110a0b6cc5f (patch)
tree922a046b5c770ec2fccdb39009d027254015ae19
parent1ee120addb9e757d40639a8a75a93dff36fe8e3c (diff)
downloadpseudo-45eca34c754d416a38bee90fb2d3c110a0b6cc5f.tar.gz
pseudo-45eca34c754d416a38bee90fb2d3c110a0b6cc5f.tar.bz2
pseudo-45eca34c754d416a38bee90fb2d3c110a0b6cc5f.zip
More-correctly fix xattrs
Fix provided by Patrick Ohly <patrick.ohly@intel.com>. This resolves the actual cause of the path length mismatches, and explains why I couldn't quite explain why the previous one had only sometimes worked, also why it showed up on directories but not plain files. Signed-off-by: Seebs <seebs@seebs.net>
-rw-r--r--pseudo_client.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pseudo_client.c b/pseudo_client.c
index 6a08df3..b1a00fa 100644
--- a/pseudo_client.c
+++ b/pseudo_client.c
@@ -1676,7 +1676,7 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path
* empty path for that.
*/
if (path_extra_1) {
- size_t full_len = path_extra_1len + 1 + pathlen;
+ size_t full_len = path_extra_1len + 1 + pathlen - strip_slash;
size_t partial_len = pathlen - 1 - strip_slash;
if (path_extra_2) {
full_len += path_extra_2len + 1;