[PATCH v2 1/2] xattr: use printstr_ex instead of print_quoted_string
Gabriel Laskar
gabriel at lse.epita.fr
Thu Dec 22 15:10:51 UTC 2016
This fixes the display when using `-s` to limit the string size of the
values displayed by {get,set}xattr.
* xattr.c (print_xattr_val): use printstr_ex instead of
print_quoted_string
Reported-by: Марк Коренберг <socketpair at gmail.com>
Signed-off-by: Gabriel Laskar <gabriel at lse.epita.fr>
---
xattr.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/xattr.c b/xattr.c
index 30a8467c..8e22f7eb 100644
--- a/xattr.c
+++ b/xattr.c
@@ -45,19 +45,12 @@ print_xattr_val(struct tcb *tcp,
unsigned long insize,
unsigned long size)
{
- static char buf[XATTR_SIZE_MAX];
-
tprints(", ");
- if (!addr || size > sizeof(buf))
+ if (!addr || size > XATTR_SIZE_MAX)
printaddr(addr);
- else if (!size || !umoven_or_printaddr(tcp, addr, size, buf)) {
- /* Don't print terminating NUL if there is one. */
- if (size && buf[size - 1] == '\0')
- --size;
-
- print_quoted_string(buf, size, 0);
- }
+ else
+ printstr_ex(tcp, addr, size, QUOTE_OMIT_TRAILING_0);
tprintf(", %lu", insize);
}
--
2.11.0
More information about the Strace-devel
mailing list