@@ -2081,7 +2081,7 @@ static void do_listxattr(int argc, char **argv, const struct cmd_desc *cmd)
20812081
20822082static 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