Signed-off-by: Jaegeuk Kim <[email protected]>
---
 tools/f2fs_io/f2fs_io.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c
index c5f1da3e6313..680c06218394 100644
--- a/tools/f2fs_io/f2fs_io.c
+++ b/tools/f2fs_io/f2fs_io.c
@@ -2081,7 +2081,7 @@ static void do_listxattr(int argc, char **argv, const 
struct cmd_desc *cmd)
 
 static void do_setxattr(int argc, char **argv, const struct cmd_desc *cmd)
 {
-       int ret;
+       int ret, len;
        char *value;
        unsigned char tmp;
 
@@ -2094,15 +2094,17 @@ static void do_setxattr(int argc, char **argv, const 
struct cmd_desc *cmd)
        if (!strcmp(argv[1], F2FS_SYSTEM_ADVISE_NAME)) {
                tmp = strtoul(argv[2], NULL, 0);
                value = (char *)&tmp;
+               len = 1;
        } else {
                value = argv[2];
+               len = strlen(value);
        }
 
-       ret = setxattr(argv[3], argv[1], value, strlen(argv[2]), XATTR_CREATE);
+       ret = setxattr(argv[3], argv[1], value, len, XATTR_CREATE);
        printf("setxattr %s CREATE: name: %s, value: %s: ret=%d\n",
                        argv[3], argv[1], argv[2], ret);
        if (ret < 0 && errno == EEXIST) {
-               ret = setxattr(argv[3], argv[1], value, strlen(argv[2]), 
XATTR_REPLACE);
+               ret = setxattr(argv[3], argv[1], value, len, XATTR_REPLACE);
                printf("setxattr %s REPLACE: name: %s, value: %s: ret=%d\n",
                                argv[3], argv[1], argv[2], ret);
        }
-- 
2.53.0.1213.gd9a14994de-goog



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to