blob: 3d178f9b4f22fb1d828674323768986af7dbddfc [file] [log] [blame]
From 45eca34c754d416a38bee90fb2d3c110a0b6cc5f Mon Sep 17 00:00:00 2001
From: Seebs <seebs@seebs.net>
Date: Thu, 3 Nov 2016 11:36:12 -0500
Subject: [PATCH] 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>
Fixes [YOCTO #10623]
Upstream-Status: Backport [commit 45eca34c754d416a38bee90fb2d3c110a0b6cc5f]
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
---
pseudo_client.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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;
--
2.1.4