From 59a591f6b50e88100f22666d3ce28087a1ff24f0 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Tue, 19 Aug 2014 08:27:59 -0400 Subject: [PATCH] debugfs: fix set_inode_field block[IND|DIND|TIND] After we determine that we can't parse the array value as an integer, we need to restore the square brackets to the field name, so that we can find a match with block[IND], block[DIND], and block[TIND] in the inode field table. Reported-by: Jun He Signed-off-by: Theodore Ts'o --- debugfs/set_fields.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/debugfs/set_fields.c b/debugfs/set_fields.c index 40dc5e7..6104b2b 100644 --- a/debugfs/set_fields.c +++ b/debugfs/set_fields.c @@ -321,8 +321,11 @@ static struct field_set_info *find_field(struct field_set_info *fields, */ if (idx) { array_idx = strtol(idx, &tmp, 0); - if (*tmp) + if (*tmp) { + *(--idx) = '['; + *delim = ']'; idx = 0; + } } /* -- 1.8.3.1