aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/pseudo/files/More-correctly-fix-xattrs.patch
blob: 3d178f9b4f22fb1d828674323768986af7dbddfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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