On 13.03.19 г. 7:36 ч., Anand Jain wrote:
> We let to pass zstd compression parameter even if its not fully written.
> For example:
>   btrfs prop set /btrfs compression zst
>   btrfs prop get /btrfs compression
>      compression=zst
> 
> zlib and lzo are fine.
> 
> Fix it by using the expected number of char in strncmp().
> 
> Signed-off-by: Anand Jain <anand.j...@oracle.com>

Reviewed-by: Nikolay Borisov <nbori...@suse.com>

> ---
>  fs/btrfs/props.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/btrfs/props.c b/fs/btrfs/props.c
> index 8577ea1d4e2b..ef6502a94712 100644
> --- a/fs/btrfs/props.c
> +++ b/fs/btrfs/props.c
> @@ -306,7 +306,7 @@ static int prop_compression_apply(struct inode *inode, 
> const char *value,
>               btrfs_set_fs_incompat(fs_info, COMPRESS_LZO);
>       } else if (!strncmp("zlib", value, 4)) {
>               type = BTRFS_COMPRESS_ZLIB;
> -     } else if (!strncmp("zstd", value, len)) {
> +     } else if (!strncmp("zstd", value, 4)) {
>               type = BTRFS_COMPRESS_ZSTD;
>               btrfs_set_fs_incompat(fs_info, COMPRESS_ZSTD);
>       } else {
> 

Reply via email to