Blob Blame History Raw
From 7fed4441e12dc794c5eb6ae1798c8338548042ac Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Mon, 8 Nov 2010 10:17:02 -0500
Subject: [PATCH 1/2] getfattr: encode NULs properly with --encoding=text

reported by Paul Bolle at https://bugzilla.redhat.com/650539
---
 getfattr/getfattr.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/getfattr/getfattr.c b/getfattr/getfattr.c
index cae9c3f..9c3de32 100644
--- a/getfattr/getfattr.c
+++ b/getfattr/getfattr.c
@@ -133,7 +133,7 @@ const char *encode(const char *value, size_t *size)
 		size_t n, extra = 0;
 
 		for (e=(char *)value; e < value + *size; e++) {
-			if (*e == '\n' || *e == '\r')
+			if (*e == '\0' || *e == '\n' || *e == '\r')
 				extra += 4;
 			else if (*e == '\\' || *e == '"')
 				extra++;
@@ -147,7 +147,9 @@ const char *encode(const char *value, size_t *size)
 		e = encoded;
 		*e++='"';
 		for (n = 0; n < *size; n++, value++) {
-			if (*value == '\n' || *value == '\r') {
+			if (*value == '\0' && n + 1 == *size)
+				break;
+			if (*value == '\0' || *value == '\n' || *value == '\r') {
 				*e++ = '\\';
 				*e++ = '0' + ((unsigned char)*value >> 6);
 				*e++ = '0' + (((unsigned char)*value & 070) >> 3);
-- 
1.7.3.3


From 0a2d62b62a3aef601228232ee2e0133a3bbc510b Mon Sep 17 00:00:00 2001
From: Andreas Gruenbacher <agruen@suse.de>
Date: Tue, 23 Nov 2010 16:44:55 +0100
Subject: [PATCH 2/2] OPTIONS in man pages should be a section heading, not a subsection heading

---
 man/man1/getfattr.1 |    2 +-
 man/man1/setfattr.1 |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/man/man1/getfattr.1 b/man/man1/getfattr.1
index 40f735d..53beb84 100644
--- a/man/man1/getfattr.1
+++ b/man/man1/getfattr.1
@@ -59,7 +59,7 @@ The remaining lines (lines 2 to 4 above) show the
 and 
 .I value
 pairs associated with the specified file.
-.SS OPTIONS
+.SH OPTIONS
 .TP 4
 .BR \-n " \f2name\f1, " \-\-name "=\f2name\f1"
 Dump the value of the named extended attribute extended attribute.
diff --git a/man/man1/setfattr.1 b/man/man1/setfattr.1
index 2d33f50..ee54e06 100644
--- a/man/man1/setfattr.1
+++ b/man/man1/setfattr.1
@@ -40,7 +40,7 @@ command associates a new
 with an extended attribute
 .IR name
 for each specified file.
-.SS OPTIONS
+.SH OPTIONS
 .TP 4
 .BR \-n " \f2name\f1, " \-\-name "=\f2name\f1"
 Specifies the name of the extended attribute to set.
-- 
1.7.3.3