Message ID | 1515412282-57381-1-git-send-email-wangxiongfeng2@huawei.com |
---|---|
State | New |
Headers | show |
Series | btrfs: use correct string length | expand |
On Mon, Jan 08, 2018 at 07:51:22PM +0800, Xiongfeng Wang wrote: > From: Xiongfeng Wang <xiongfeng.wang@linaro.org> > > gcc-8 reports > > fs/btrfs/ioctl.c: In function 'btrfs_ioctl': > ./include/linux/string.h:245:9: warning: '__builtin_strncpy' specified > bound 1024 equals destination size [-Wstringop-truncation] > > We need one less byte or call strlcpy() to make it a nul-terminated > string. The null termination is on the following line, so this patch fixes namely the gcc warning: > - strncpy(di_args->path, name->str, sizeof(di_args->path)); > + strncpy(di_args->path, name->str, sizeof(di_args->path) - 1); > rcu_read_unlock(); > di_args->path[sizeof(di_args->path) - 1] = 0; Reviewed-by: David Sterba <dsterba@suse.com>
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 2ef8aca..e88c9e8 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -2807,7 +2807,7 @@ static long btrfs_ioctl_dev_info(struct btrfs_fs_info *fs_info, rcu_read_lock(); name = rcu_dereference(dev->name); - strncpy(di_args->path, name->str, sizeof(di_args->path)); + strncpy(di_args->path, name->str, sizeof(di_args->path) - 1); rcu_read_unlock(); di_args->path[sizeof(di_args->path) - 1] = 0; } else {