38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
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
|
|
|