attr/0004-getfattr-don-t-count-terminating-NULL-in-well_enough.patch
Zhiqiang Liu 7b25ffbcfb attr: backport upsteam bugfix patches
attr: backport upsteam bugfix patches

Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
2020-07-12 18:27:23 +08:00

36 lines
1.0 KiB
Diff

From e4c006f07f050e0af08602d0064c3420080b7313 Mon Sep 17 00:00:00 2001
From: Jeff Layton <jlayton@kernel.org>
Date: Thu, 13 Jun 2019 10:55:35 -0400
Subject: [PATCH 4/7] getfattr: don't count terminating NULL in
well_enough_printable
If the value is a string with the terminating NUL included in the
length, then don't count that terminating NUL when determining whether
the string is printable. This is consistent with the fact that getfattr
doesn't print the terminating NUL character in --encoding=text (commit
7fed4441e12d).
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
tools/getfattr.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/getfattr.c b/tools/getfattr.c
index 72a8852..0ba5781 100644
--- a/tools/getfattr.c
+++ b/tools/getfattr.c
@@ -110,6 +110,10 @@ int well_enough_printable(const char *value, size_t size)
{
size_t n, nonpr = 0;
+ /* Don't count the NULL terminator if there is one */
+ if (size && !value[size - 1])
+ size--;
+
for (n=0; n < size; n++)
if (!isprint(*value++))
nonpr++;
--
1.8.3.1