From: Eric Sandeen Date: Fri, 25 Jan 2013 19:27:46 +0000 (-0600) Subject: btrfs-progs: fix name lengths in cmd_subvol_create X-Git-Tag: upstream/4.16.1~3459^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ced17b07f9524c999395240458a46e403036d6b;p=platform%2Fupstream%2Fbtrfs-progs.git btrfs-progs: fix name lengths in cmd_subvol_create cmd_subvol_create() calls either BTRFS_IOC_SUBVOL_CREATE or BTRFS_IOC_SUBVOL_CREATE_V2 depending on whether or not inherit is set. However, these 2 ioctls have different args structures with different length name[] members. In the BTRFS_IOC_SUBVOL_CREATE case, the arg is btrfs_ioctl_vol_args, with a BTRFS_PATH_NAME_MAX length name, not a BTRFS_SUBVOL_NAME_MAX length name. Signed-off-by: Eric Sandeen --- diff --git a/cmds-subvolume.c b/cmds-subvolume.c index af04a6b..1432b99 100644 --- a/cmds-subvolume.c +++ b/cmds-subvolume.c @@ -149,8 +149,8 @@ static int cmd_subvol_create(int argc, char **argv) struct btrfs_ioctl_vol_args args; memset(&args, 0, sizeof(args)); - strncpy(args.name, newname, BTRFS_SUBVOL_NAME_MAX); - args.name[BTRFS_SUBVOL_NAME_MAX-1] = 0; + strncpy(args.name, newname, BTRFS_PATH_NAME_MAX); + args.name[BTRFS_PATH_NAME_MAX-1] = 0; res = ioctl(fddst, BTRFS_IOC_SUBVOL_CREATE, &args); }