diff mbox series

btrfs: use correct string length

Message ID 1515412282-57381-1-git-send-email-wangxiongfeng2@huawei.com
State New
Headers show
Series btrfs: use correct string length | expand

Commit Message

Xiongfeng Wang Jan. 8, 2018, 11:51 a.m. UTC
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.

Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org>

---
 fs/btrfs/ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
1.8.3.1

Comments

David Sterba Jan. 9, 2018, 5:36 p.m. UTC | #1
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 mbox series

Patch

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 {