From cecc2bc78b39ddcd34a819a4d7e7cd30897958cb Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 26 Mar 2019 09:36:53 -0400 Subject: [PATCH] debugfs: fix printing of xattrs with ea_in_inode values Due to a missing "else" debugfs was printing (garbage) from the xattr buffer which could potentially overrun the end of the buffer. Signed-off-by: Theodore Ts'o --- debugfs/xattrs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debugfs/xattrs.c b/debugfs/xattrs.c index 8bbaaed..bd11450 100644 --- a/debugfs/xattrs.c +++ b/debugfs/xattrs.c @@ -452,7 +452,7 @@ static void dump_xattr_raw_entries(FILE *f, unsigned char *buf, else if (ent.e_value_offs >= len || (vstart + ent.e_value_size) > len) fprintf(f, ""); - if (is_mostly_printable((char *)(buf + vstart), + else if (is_mostly_printable((char *)(buf + vstart), ent.e_value_size)) safe_print(f, (char *)(buf + vstart), ent.e_value_size); -- 1.8.3.1