Skip to content

Commit ee44482

Browse files
author
Jaegeuk Kim
committed
f2fs_io: fix length for setxattr
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
1 parent 952551e commit ee44482

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

tools/f2fs_io/f2fs_io.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2081,7 +2081,7 @@ static void do_listxattr(int argc, char **argv, const struct cmd_desc *cmd)
20812081

20822082
static void do_setxattr(int argc, char **argv, const struct cmd_desc *cmd)
20832083
{
2084-
int ret;
2084+
int ret, len;
20852085
char *value;
20862086
unsigned char tmp;
20872087

@@ -2094,15 +2094,17 @@ static void do_setxattr(int argc, char **argv, const struct cmd_desc *cmd)
20942094
if (!strcmp(argv[1], F2FS_SYSTEM_ADVISE_NAME)) {
20952095
tmp = strtoul(argv[2], NULL, 0);
20962096
value = (char *)&tmp;
2097+
len = 1;
20972098
} else {
20982099
value = argv[2];
2100+
len = strlen(value);
20992101
}
21002102

2101-
ret = setxattr(argv[3], argv[1], value, strlen(argv[2]), XATTR_CREATE);
2103+
ret = setxattr(argv[3], argv[1], value, len, XATTR_CREATE);
21022104
printf("setxattr %s CREATE: name: %s, value: %s: ret=%d\n",
21032105
argv[3], argv[1], argv[2], ret);
21042106
if (ret < 0 && errno == EEXIST) {
2105-
ret = setxattr(argv[3], argv[1], value, strlen(argv[2]), XATTR_REPLACE);
2107+
ret = setxattr(argv[3], argv[1], value, len, XATTR_REPLACE);
21062108
printf("setxattr %s REPLACE: name: %s, value: %s: ret=%d\n",
21072109
argv[3], argv[1], argv[2], ret);
21082110
}

0 commit comments

Comments
 (0)