summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkoverstreet <kent.overstreet@gmail.com>2024-04-25 14:22:39 -0400
committerGitHub <noreply@github.com>2024-04-25 14:22:39 -0400
commit7364f396db758a39c9fcc2e2538bc4b86f258882 (patch)
tree428cdbb34053f6dab52d02a36f0754980430982e
parentec2d118738facd1456a25bb67015e67094010b99 (diff)
parente7495eb5c7a2a6511b5a337ad25a3b792df8d9bc (diff)
Merge pull request #257 from edigaryev/check-xattr-resolve-name-return
copy_xattrs(): check xattr_resolve_name()'s return value
-rw-r--r--c_src/cmd_migrate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/c_src/cmd_migrate.c b/c_src/cmd_migrate.c
index 5ac326dd..f3fe6c4c 100644
--- a/c_src/cmd_migrate.c
+++ b/c_src/cmd_migrate.c
@@ -229,6 +229,10 @@ static void copy_xattrs(struct bch_fs *c, struct bch_inode_unpacked *dst,
die("error getting xattr val: %m");
const struct xattr_handler *h = xattr_resolve_name(&attr);
+ if (IS_ERR(h))
+ die("cannot copy extended attribute \"%s\" "
+ "because it's unsupported", attr);
+
struct bch_inode_unpacked inode_u;
int ret = bch2_trans_do(c, NULL, NULL, 0,