mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
ceph: Use strscpy() instead of strcpy() in __get_snap_name()
strcpy() performs no bounds checking on the destination buffer. This
could result in linear overflows beyond the end of the buffer, leading
to all kinds of misbehaviors [1].
This fixes checkpatch warning:
WARNING: Prefer strscpy over strcpy
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strcpy
[ idryomov: formatting ]
Signed-off-by: Abdul Rahim <abdul.rahim@myyahoo.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
committed by
Ilya Dryomov
parent
e50f960bea
commit
c152737be2
@@ -452,7 +452,13 @@ static int __get_snap_name(struct dentry *parent, char *name,
|
||||
goto out;
|
||||
if (ceph_snap(inode) == CEPH_SNAPDIR) {
|
||||
if (ceph_snap(dir) == CEPH_NOSNAP) {
|
||||
strcpy(name, fsc->mount_options->snapdir_name);
|
||||
/*
|
||||
* .get_name() from struct export_operations
|
||||
* assumes that its 'name' parameter is pointing
|
||||
* to a NAME_MAX+1 sized buffer
|
||||
*/
|
||||
strscpy(name, fsc->mount_options->snapdir_name,
|
||||
NAME_MAX + 1);
|
||||
err = 0;
|
||||
}
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user